【问题标题】:Android Google App Engine Tutorial wont workAndroid Google App Engine 教程不起作用
【发布时间】:2013-12-26 07:17:50
【问题描述】:

所以在过去的 5 个小时里,我一直在努力让这个 Google App Engine 与 Android 一起工作。我一直在关注他们的教程(有两个,略有不同,但都不起作用)。所以这是我正在做的步骤

  1. 在 Google Developers 控制台中创建一个项目(注意项目 ID 和项目编号)
  2. 从此处 (https://github.com/GoogleCloudPlatform/solutions-mobile-backend-starter-android-client) 的 GIT 存储库中克隆代码
  3. 在 SDK 文件夹中导入了 google-play-services_lib 项目,因为项目中缺少它
  4. 将 Android 构建设置为 Google API
  5. 将 Const.java 文件常量设置为我的项目 ID 和编号(它还要求提供 Web 客户端 ID,但在任何地方都找不到,并且在教程中没有提到这一点)
  6. 如果我尝试在此处运行程序,它是 FC 的,因为 Google Play 服务的版本号。因此,一种解决方法是我将其设置为 4030500,就像它要求的那样,或者设置为 @integer/google_play_services 或类似的东西)
  7. 运行应用程序,但它会出现 GoogleAuthIOException 异常

所以,我很茫然,只想把头发拔掉。这项服务听起来非常适合我想要开发的应用程序,但谷歌的文档严重损坏,我似乎无法通过它。如果其中一位能够让这个工作的大师能提供帮助,那就太好了。

【问题讨论】:

    标签: android google-app-engine backend


    【解决方案1】:

    在“开放(仅供开发使用)”身份验证模式下运行移动后端时,我在本教程之后遇到了相同的 GoogleAuthIOException。

    但它使用“由客户端 ID 保护”模式工作,执行以下步骤:

    • 为 Web 应用程序创建一个客户端 ID(从云控制台 -> APIs & Auth -> 凭据 -> 创建新客户端并选择“Web 应用程序”
    • 将您的后端身份验证设置为“由客户端 ID 保护(推荐)”并输入刚刚生成的 Web 客户端 ID
    • 在android代码(Consts.java)中放入相同的Web客户端ID

    【讨论】:

      【解决方案2】:

      我设法让它工作。完成上述所有操作后,我只需使用 GDC 中提供的客户端 ID 哈希并将其放入 Const.java 文件中的 Web 客户端 ID 中……我希望 Google 能够更新他们的教程,这样我们就不必摸索了这么多。

      【讨论】:

      • 你能更精确一点吗?我遇到了同样的问题,但不知道您所说的“客户 ID 已在 GDC 中给出”是什么意思。有一个客户端 ID 看起来很长 123456789012-abcdefgh1ijklmnopqrstuvwzyz8.apps.googleusercontent.com 并且不起作用。那你用什么?
      • 我已经没有源代码了,因为我暂时放弃了使用它(他们需要在他们的文档中做更多的工作,然后才能把我的头发拉出来)。我很确定这是您列出的那个长客户 ID。还有一些其他设置需要更新,但我相信那是我使用的客户端 ID(我现在正在查看我的云开发者控制台)。
      最近更新 更多