Cod*_*iak 5 google-app-engine android google-cloud-endpoints endpoints-proto-datastore
我正在开发一款Android应用程序,该应用程序使用Google App Engine上的Google Cloud Endpoints(在Python中)作为其后端.Android应用授权用户在Android设备上使用Google Play服务,这一切都非常有效.
但是,既然我有实际用户,我希望能够在将任何应用引擎API更改部署到生产环境之前在本地进行全部测试,而且我还没想出如何让Android应用与我的本地开发服务器通信任何地方.该测试的建议表明,我只是做与API Explorer中的某些手动修修补补,但由于我使用的端点数据存储原为我的API,这使得Android开发容易,这也使得API浏览器基本没用,因为这些调用我需要制作比我手工制作的复杂得多.
这个问题的一个答案表明,有一种方法可以将Android客户端指向本地服务器,但是虽然我可以使用--host参数让dev_appserver的默认服务器侦听除localhost之外的其他东西,但我似乎无法找到一种方法为API服务器做同样的事情.即使我能做到这一点,它可能只是我的Android应用程序完整的端到端本地测试设置的第一步.
有人可以发布有关我如何做到这一点的更多细节,或者说没有,请告诉我在App Engine上测试使用Google Cloud Endpoints的Android应用程序的最佳做法?提前感谢您的任何答案.
好吧,终于搞定了,感谢提示,丹!这些剩余的细节可以让我节省几个小时 - 希望这对其他人有帮助.
1)正如我之前所预期和前面提到的,dev_appserver.py需要使用--host = 0.0.0.0运行,以便它可以在本地网络上侦听.
2)为了正确解析ID令牌以使用户身份验证工作,您需要安装PyCrypto库 - 默认情况下不安装它,所以只在app.yaml中使用它是不够的.我在这里找到了Windows的二进制文件.
3)然后,在我生成的Tictactoe.java等效类中,我必须将DEFAULT_ROOT_URL更改为http://<my-local-machine>:8080/_ah/api/(我的本地计算机正在运行的位置),以便请求转到本地网络.或者(也许可以更少侵入性),您可以使用builder.setRootUrl从初始化构建器的任何位置使用相同的地址.这样就不会破坏生成的类.
4)我还必须做出丹在这里描述的改变.
完成这四件事之后,现在一切似乎都在运行,我可以在本地测试我的应用程序 - 万岁!
| 归档时间: |
|
| 查看次数: |
3482 次 |
| 最近记录: |