尝试获取授权令牌时出现未知的GoogleAuthException

tru*_*pin 5 java android google-plus google-oauth

我正在尝试使用Android上的sdk从Google+获取授权令牌,但它总是会引发"GoogleAuthException Unknown"

这是我使用的代码:

private static final String LOGIN_SCOPES =
        "https://www.googleapis.com/auth/plus.login " +
        "https://www.googleapis.com/auth/userinfo.email";

protected static final String SCOPES = 
        "oauth2:server:client_id:" + 
        BuildConfig.GOOGLE_SERVER_CLIENT_ID + 
        ":api_scope:" + 
        LOGIN_SCOPES;

String token = GoogleAuthUtil.getToken(
                        getApplicationContext(),
                        Plus.AccountApi.getAccountName(googleApiClient),
                        SCOPES);
Run Code Online (Sandbox Code Playgroud)

我加倍检查了我从谷歌控制台获得的client_id.

真正令人不安的是,这段代码适用于我的暂存风格,有一个staging client_id,但对于我今天早上创建的我的生产client_id,我无法使其工作.

任何的想法 ?

tru*_*pin 2

我终于发现出了什么问题。我使用的是 android 客户端 id 而不是 web 客户端 id。事实证明,在这种情况下,Google+ 无法为您提供除“未知”之外的更多有关错误的详细信息。

因此,如果其他人遇到来自 Google+ 的“未知”异常,您可以开始检查这两点:

  • 您是否在您的范围内使用网络客户端 ID(而不是其他范围)?
  • 您 100% 确定您的SHA1 证书是好的吗?