2016-11-17 3 views
2

私はGoogleの距離行列のAPIを有効にして、私はJSONレスポンスを受け取るために私のAndroidアプリからのHTTPクエリを送信されますので、Androidアプリのキーを制限:Google Distance MatrixにAndroid-App-Restricted APIキーを使用できますか?

Key Restriction

制限がなければ、それが動作し、私が期待する結果を得ます。

このIP、サイトやモバイルアプリケーションは、このAPIキーを使用することが許可されていません:それは(私のパッケージ名とSHA1で)制限していますとき、私は「REQUEST_DENIED」ステータスを持つJSONオブジェクトでの失敗メッセージが言ってもらいます。 IPアドレス[ip_addr]から受信したリクエストで、空のリファラーを使用しています。 ;私は距離行列のAPIがサーバー鍵で使用しなければならないことを理解しますが、この新しいGoogleコンソールにサーバー鍵のためのオプションはありません他の記事から

キーを作成し、上記の制限を選択するだけです。
サーバキーが作成され、アンドロイドアプリで使用できますが、制限はありません。

したがって、私のアンドロイドアプリからのみ距離行列APIを使用するようにこのキーを制限するにはどうすればよいですか?

+0

私は方向APIを使用しようとしている以外は同じ問題があります。あなたが解決策を見つけたら、知っておくと良いでしょう。 – VorteXavier

+1

解決策が見つかりませんでした。私はこれをGeocoding APIでも持っています。 –

+1

[This(http://stackoverflow.com/questions/33989062/restricting-usage-for-an-android-key-for-a-google-api?rq=1)は関連しています。 OPはGoogleに[問題](https://code.google.com/p/google-cloud-platform/issues/detail?id=46)も公開しました。 –

答えて

1

Androidアプリの制限は、Google Maps Android API v2とAndroid用Googleマッププレイスでのみ有効です。この制限では、Webサービス(Distance Matrix APIなど)は機能しません。

WebサービスのAPIキーで機能する制限は、IP制限です。

ウェブサービスリクエストがバックエンドサーバー上で実行されていると考えられます。 APIキーを制限する必要がある場合、回避策は中間サーバーを作成することです。 Androidアプリケーションは中間サーバーに要求を送信する必要があります。中間サーバーはGoogleに要求を送信し、応答をアプリケーションに返す必要があります。この場合、中間サーバーのIPアドレスでAPIキーを制限することができます。

関連する問題