登录播放服务7.5后无法获取身份验证令牌。+(Android)

时间:2015-06-03 05:29:45

标签: android google-play-services

将我的播放服务更新到7.5.0后,在执行Google +登录后,我在检索身份验证令牌以使用我的后端对应用程序进行身份验证时遇到问题。

我正在关注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 。我很确定我使用了正确的SERVER_CLIENT_ID,并且这个SERVER_CLIENT_ID在Google Developer Console中配置得很好(因为这适用于之前版本的播放服务)。

其他人有这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我解决了自己的问题。

为播放服务Enabling google services for your app生成配置文件的新工具提供了一个向导,可生成我们必须包含在项目中的json文件。

问题是,从组合框中选择应用程序后,向导会自动将“com.mydomain”建议为android包名称,但正确的包名称为“com.mydomain.app”。

因此,建议是再次查看google-services.json文件中的包名称。

我发现这很难调试!