【发布时间】:2025-12-14 04:15:01
【问题描述】:
我设置了 Android App 和 Google App Engine 后端,如这两个项目中所示:
当我单击触发请求的井字游戏按钮时,我收到 404 错误:“未找到”
04-09 23:11:51.115: W/TicTacToe(26247): GetComputerMoveTask: 404 Not Found
04-09 23:11:51.115: W/TicTacToe(26247): Not Found
这正是浏览器中 https://myappname.appspot.com/_ah/api/ 显示“未找到”的内容。
这是我所做的:
- 在App Engine Console上创建了一个api项目
- 创建了一个带有 com.google.devrel.samples.ttt 的 Android 客户端 ID 作为包和我的调试密钥 SHA1 指纹
- 创建了一个 Web 客户端 ID
- 在 Eclipse 中集成了 Android 项目。将 Tictactoe.java 中的 DEFAULT_ROOT_URL 更新为“https://myappname.appspot.com/_ah/api/”
- 通过将字符串“your_web_client_id”替换为第 3 步中生成的 web-client-id 来更新 ClientCredentials.java 中的 AUDIENCE 值
- 在 eclipse 中集成 Java 后端项目。将 appengine-web.xml 中的应用程序值更新为 myappname
- 更新了 /spi/Ids.java 中的值以反映 web-client-id 和 android-client-id 从第 2 步和第 3 步开始
- 用 web-client-id 更新了 war/js/render 中 google.devrel.samples.ttt.CLIENT_ID 的值
- 将后端部署到谷歌。效果很好 - 它打开了 https://myappname.appspot.com/ 页面,在部署后显示正确的页面(servlet)
- 部署了安卓应用程序并尝试在井字游戏中移动。应用崩溃。
我认为在我的 Android 应用中我的 DEFAULT_ROOT_URL 设置为“https://myappname.appspot.com/_ah/api/”非常可疑,而此页面在浏览器中只显示“未找到”。
这里出了什么问题?
提前致谢
【问题讨论】:
-
想补充一点,日志也没有在控制台中显示任何访问权限。
-
Addiotianally apis-explorer.appspot.com/apis-explorer/?base=https://… 没有显示服务、所有版本和请求历史的条目?!!我还在 API 控制台中检查了最新版本是否设置为默认版本。我用 JRE 1.7 编译了后端。 google-play-services 项目取自 android-sdk-folder。我再次检查了 Android 客户端 ID 的 URL,Web 客户端 ID 和应用程序 ID 已正确设置和插入。
-
+ 我只使用真实设备(没有模拟器),它只使用允许的帐户(在控制台中设置)。 Web 前端仍然可用。控制台在部署后显示成功消息。堆栈跟踪中的异常是:com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
-
... 并再次检查了用于 Android Cleint ID 和设备部署的指纹。
-
我通过重新设置项目解决了这个问题。我无法真正解释为什么它现在有效.. 无论如何谢谢大家...
标签: android google-app-engine http-status-code-404