テストに使用するモバイル デバイスで実行されている Android アプリから、ローカルの開発マシンでホストされている Cloud Endpoints API にアクセスしたいと考えています。
私のデバイスは IP アドレスで私の開発マシンにアクセスできます。--host=192.1.168.101 を App Engine ランチャーに渡し、ローカルの App Engine インスタンスが IP アドレスにバインドされるようにしました。192.168.1.101 から App Engine インスタンスにアクセスできますが、アプリが API 呼び出しを行うと 404 が返されます。
http://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 ファイルを変更するためにデバイスを root 化したくありません。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