我有一个 Android 应用程序,我试图在 Chrome ARC 下运行(通过 ARC-Welder)。如果 Chrome 客户端 ID 在 ARC (build=="chromium") 下运行,我已经创建了所有 OAuth2 ID 并更改了我的 APK 以替换 Chrome 客户端 ID。但是,我仍然从GoogleAuthUtil.getToken()
.
实际的“范围”值是:
audience:oauth2:client_id:numbers-numbersandletters.apps.googleusercontent.com
实际的例外,hot fromlogcat
是:
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“端点”,还是根本不支持?