【问题标题】:Google Play Services and "There is no linked app associated with this client ID"Google Play 服务和“没有与此客户端 ID 关联的链接应用程序”
【发布时间】:2013-06-24 15:00:00
【问题描述】:

我正在尝试按照 Google 的文档实施 Google Play 服务,当我尝试连接我的 GameClient 时看到以下内容:

E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
E/Volley: [4953] il.a: Unexpected response code 401 for https://www.googleapis.com/games/v1/players/me
E/SignInIntentService: There is no linked app associated with this client ID.

我检查了签署 APK 的证书的 SHA1 指纹、调试证书的 SHA1 以及提供给 Google API 的 SHA1 是否匹配,它们确实匹配。我已经检查了应用程序项的清单中是否声明了应用程序 ID(在我的情况下,我采用了 13 位数字 ID,而不是还包含一个包的 ID)。我还检查了我正在使用的测试帐户是否都列在开发者控制台中,它们是;他们每个人也是@gmail.com,并且包括我的开发人员地址。他们都激活了 Google Plus。

我已经在 API 16 S3 设备和 API 17 Google API 模拟器上进行了尝试。应用程序包名称在开发者控制台上的清单中正确声明,并且与 API 包名称匹配。该应用被列为游戏服务的客户端,并显示为“准备测试”。

简而言之,我正在努力了解我的错误可能是什么以及我错过了什么。我想我也解决了谷歌故障排除的所有问题。我已经在 StackOverflow 上查看了这里的主要问题,并且已经涵盖了它们。无论我错过了什么,可能都在盯着我的脸。我会错过什么?

【问题讨论】:

    标签: android google-play-services


    【解决方案1】:

    我被这个问题困扰了很长时间,直到我意识到我的应用程序中有两个名为“app_id”的字符串。一个来自 Facebook SDK,一个来自 Google。我重命名了 Google app_id(并更改了相应的清单引用),一切都很好。

    您可能有类似的问题。如果您看不到错误,那么我会尝试将 app_id 写入 syslog 以确认这不是问题的原因。

    顺便说一句,我所有的 Google app_id (客户端 ID)都是 12 个字节而不是 13 个字节,所以也许你应该先检查一下。

    祝你好运!

    【讨论】:

    • 谢谢伊恩。我不能在这里接受你的回答,因为这不是我的问题,但我很高兴投票,因为它是相关的 - 碰巧我正在将现有项目从使用 Facebook 迁移到支持 Google Plus,但我有已经删除了对 Facebook 应用 ID 的引用。您的建议可能会帮助许多登陆这里的人。我即将发布我的问题似乎是什么,但我也不会接受我的答案,希望这个问题成为一个包罗万象的问题。
    • 就我而言,我重新创建了调试密钥,我的问题似乎自行消失了。我有点摸不着头脑。
    • 没关系 - 只是想帮忙!
    【解决方案2】:

    即使重做一切,一切,我仍然遇到同样的问题。但是,我随后在 Google API 上遇到了“此包已在使用中”错误消息,即使我在再次删除这些项目之前已取消删除所有项目并删除了所有客户端。

    结果证明这是一件幸事:解决方案是在将新指纹添加到另一个新客户端 ID 中的 Google API 之前重新创建我的调试密钥。

    然后,我原来的问题就消失了。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,对我来说,它可以在 Game services -> Linked apps -> Link another app 中重新链接应用程序。

      【讨论】:

        【解决方案4】:

        您没有明确说明您正在测试的 gmail 帐户作为 Google Plus 用户添加到配置为您应用的测试社区的 Google Plus 社区中 - 或者 - 您使用的是 google 群组作为测试社区,这些 gmail 帐户是该社区的一部分。

        如果你做过这些事情,那么可能就是这里所说的问题:

        https://code.google.com/p/google-plus-platform/issues/detail?id=554

        这个答案听起来很鼓舞人心,可以解决您的问题,但不要抱太大希望。我已经完成了原始海报所做的所有事情,以及上面的事情,但我仍然卡住了。

        我什至遵循了此处所述的所有提示:

        Google Play Game Services - unable to sign in

        Google 让您陷入的关于 GPS 的鸿沟的深度似乎比我所探测的深度要深得多。喜悦。

        【讨论】:

        • 好的,我终于解决了我的特殊问题。关键是在另一个 SO 帖子中,我将在这里总结。您的 Oauth2 客户端不能从 Google API 控制台创建,它必须从 Google Play UI 创建。 1. 如果您手动创建了 OAuth2 客户端,请在 Google API 控制台中删除它。 2. 在 Google Play UI 的 Linked Apps 下重新添加您的 Game Services 客户端。如果您已经发布,只需添加另一个。您可以验证它在 Google API 控制台中创建了您的 Oauth2 客户端,然后如果这一切都错了,您的测试人员/应用程序应该可以工作。
        • 谢谢,为我做了。
        【解决方案5】:

        我遇到了同样的问题,我不确定以下操作是否可以解决问题,但值得一试,

        似乎我没有启用 Drive API,我在启用的 api 中启用了它,但我必须实际单击它旁边的齿轮图标,然后单击启用并提供应用程序名称。

        【讨论】:

          【解决方案6】:

          只需在开发者控制台“调试和发布客户端 ID”中链接同一个包的次数与拥有客户端 ID 的次数相同

          问题是,如果您使用错误的 SHA1 指纹将您的应用链接到游戏服务,游戏服务将拾取它并将其关联为主客户端 ID。

          一旦您再次将同一个应用链接到您的游戏服务,它将自动获取其他客户端 ID

          【讨论】:

            【解决方案7】:

            我遇到了完全相同的问题,就我而言,我修复了它,从 Google API 控制台重新生成 API 密钥。转到凭据,选择您的 API 密钥,然后单击“重新生成密钥”。您无需更新代码中的任何内容或链接更多应用程序,只需重新生成它即可开始神奇地工作。

            【讨论】:

              猜你喜欢
              • 2019-09-30
              • 2013-11-06
              • 2014-12-24
              • 2013-08-31
              • 1970-01-01
              • 2013-06-06
              • 1970-01-01
              • 2016-01-26
              • 1970-01-01
              相关资源
              最近更新 更多