com.google.android.gms.auth.GoogleAuthException:getToken(未知来源)异常

Posted

技术标签:

【中文标题】com.google.android.gms.auth.GoogleAuthException:getToken(未知来源)异常【英文标题】:com.google.android.gms.auth.GoogleAuthException: getToken(Unknown Source) exception 【发布时间】:2014-02-11 05:35:26 【问题描述】:

在我的 android 应用程序中,我正在尝试获取 google 令牌以在我的 google 应用引擎后端服务器上进行验证。但我总是得到这个例外:

com.google.android.gms.auth.GoogleAuthException: getToken(Unknown Source) exception

我的代码:

    private Account mAccount = AccountManager.get(this).getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE)[0];
    private static final String SCOPE = "audience:server:client_id:" +Constants.WED_CLIENT_ID;
    String token = GoogleAuthUtil.getToken(LoginActivity.this, mAccount.name, SCOPE);

我已经尝试过 *** 中提出的所有解决方案。

【问题讨论】:

【参考方案1】:

几个小时后,我发现在您的范围字符串 ("audience:server:client_id:...") 中,您必须使用 Web 应用程序的客户端 ID,而不是 android 的。

Android 应用的客户端 ID 未使用。它只是在这里将您的 android 应用程序的包名称与您的 Web 应用程序链接起来。

【讨论】:

但是我使用的是WEB CLIENT ID..我没有使用Android ID..问题是我已经回答的其他问题..谢谢!! 嗨!同样的问题,虽然还没有得到解决方案。在我的范围内,我使用的是在 Google Developer Console 中创建的 Web 客户端中的客户端 ID,但它不起作用:( 成功了!从使用 Android 应用客户端 ID 更改为“Web 客户端(由 Google 服务自动创建)”并且它有效!【参考方案2】:

经过 2 天的研究,我发现当您在 Google Cloud Console 中注册您的 android 应用程序 -> 您的项目 -> API 和身份验证时,它会要求您提供指纹以生成 ClientID 并且不知何故我的指纹是错误的(我不小心在这个 cmd keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 之前添加了~$,因此它给了我错误的指纹并且是以下问题的根本原因:

com.google.android.gms.auth.GoogleAuthException: getToken(Unknown Source) exception.

【讨论】:

你能帮我解决这个错误吗***.com/questions/21445265/… @SmitPatel 我不明白..你想要指纹代码?? 谢谢,但我已经解决了问题,我将把代码推送到 GitHub 上【参考方案3】:

在互联网上阅读了几篇文章后,我生成了我的密钥库的 SHA1 指纹值

keytool -exportcert -alias android_keystore -keystore android_keystore -list -v | openssl sha1

因此我得到了那个错误。如果您在 Google 开发者控制台中看到凭据屏幕,则表明您需要使用

keytool -exportcert -alias android_keystore -keystore android_keystore -list -v

即不要将输出通过管道传输到 openssl sha1。不确定有什么区别,但两个命令给出的值不同。

您将获得多个指纹,如 MD5、SHA1、SHA256 等。使用 SHA1 值。

【讨论】:

以上是关于com.google.android.gms.auth.GoogleAuthException:getToken(未知来源)异常的主要内容,如果未能解决你的问题,请参考以下文章