У меня есть приложение для Android, которое я пытаюсь запустить в Chrome ARC (через ARC-Welder). Я создал все идентификаторы OAuth2 и изменил свой APK, чтобы заменить идентификатор клиента Chrome, если он работает под ARC (build=="chromium"). Однако я все еще получаю исключения "INVALID_SCOPE" от GoogleAuthUtil.getToken()
.
Фактическое значение «области действия»:
audience:oauth2:client_id:numbers-numbersandletters.apps.googleusercontent.com
Фактическое исключение, горячее от logcat
:
com.google.android.gms.auth.GoogleAuthException: INVALID_SCOPE
at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:255)
...
Код, выполняющий этот запрос:
final String clientid = isChromeArc() ? CHROME_CLIENT_ID : WEB_CLIENT_ID;
googleCredential = GoogleAccountCredential.usingAudience(this, "server:client_id:" + clientid);
final String accountname = settingsPreferences.getString(PREF_ACCOUNT_NAME, null);
googleCredential.setSelectedAccountName(accountname);
assert googleCredential.getSelectedAccount() != null;
assert !googleCredential.getSelectedAccount().equals("");
if (googleCredential.getToken() == null) ... // <== exception here
Наконец, метаданные, переданные ARC-Welder в процессе создания:
{
"usePlayServices": ["maps"],
"crx_key": "MII...verylongbase64string...AB"
}
Что нужно сделать, чтобы подключиться к "конечным точкам" App Engine, или это просто еще не поддерживается?