我想从我用于测试的移动设备上运行的 Android 应用程序访问托管在本地开发机器上的 Cloud Endpoints API。
我的设备可以通过 IP 地址访问我的开发机器。我将 --host=192.1.168.101 传递给 App Engine 启动器,以便我的本地 App Engine 实例绑定到 IP 地址。虽然我可以从 192.168.1.101 访问 App Engine 实例,但当我的应用程序进行 API 调用时,我得到了 404。
我注意到 go tohttp://192.168.1.101:9080/_ah/api/explorer/
不会显示我的 API;它重定向到https://developers.google.com/apis-explorer/#p/
. 如果我使用http://localhost:9080/_ah/api/explorer/
,我可以按预期看到我的 API。使用 IP 地址作为主机似乎不适用于 Cloud Endpoints。
我宁愿不让我的设备根目录来更改它的 /etc/hosts 文件。无论如何,更改它可能不是解决方案,因为我无法将我的 App Engine 实例绑定到 localhost 以外的主机名。
这是我的 app.yaml 配置:
application: my-server
version: 1
runtime: python27
threadsafe: true
api_version: 1
handlers:
# Endpoints handler
- url: /_ah/spi/.*
script: services.application
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app