将我的播放服务更新到7.5.0后,我在检索身份验证令牌以在进行谷歌登录后使用我的后端验证应用程序时遇到问题 .
我正在关注Google Sign-In for Android的文档 . 如上所述,登录工作正常,我要求在设备有多个帐户时选择一个帐户,并允许此应用程序的权限,之后我尝试使用异步任务获取令牌:
protected String doInBackground(String... params) {
String accountName = Plus.AccountApi.getAccountName(mGoogleApiClient);
Account account = new Account(accountName, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
String scopes = "audience:server:client_id:" + SERVER_CLIENT_ID; // Not the app's client ID.
String idToken = "";
try {
idToken = GoogleAuthUtil.getToken(getApplicationContext(), account, scopes);
} catch (IOException e) {
Log.e(TAG, "Error retrieving ID token.", e);
} catch (GoogleAuthException e) {
Log.e(TAG, "Error retrieving ID token.", e);
}
return idToken;
}
我总是收到 GoogleAuthException Unknown . 我'm pretty sure that I'm使用正确的SERVER_CLIENT_ID,并且此SERVER_CLIENT_ID在Google Developer Console中配置得很好(因为这适用于以前版本的播放服务) .
还有其他人有这个问题吗?
谢谢!
1 回答
我解决了自己的问题 .
为播放服务Enabling google services for your app生成配置文件的新工具提供了一个向导,该向导生成我们必须包含在项目中的json文件 .
问题是,从组合框中选择应用程序后,向导会自动将“com.mydomain”建议为android包名称,但正确的包名称为“com.mydomain.app” .
因此,建议是再次查看google-services.json文件中的包名称 .
我发现这很难调试!