Неверная область действия при попытке создать Use GoogleAccountCredential с ARC-Welder в Chrome

У меня есть приложение для 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, или это просто еще не поддерживается?


person Brian White    schedule 14.04.2015    source источник


Ответы (1)


Кросс-клиентская аутентификация не поддерживается в ARC (пока). Вот соответствующая ошибка для отслеживания.

person Victor    schedule 15.04.2015