0

モバイルデバイスなどでテストするために、フィドラーを使用してローカルネットワーク経由でローカル Web サーバーを転送しています。

static function OnBeforeRequest(oSession: Session) {
    if (oSession.host.toLowerCase() == "192.168.1.100:8888") oSession.host="localhost:8020";
}

これは問題なく動作しますが、Google マップを API キーで適切に認証できないという恐ろしいメッセージが表示されます。

Google は、このアプリケーションでの Maps API の使用を無効にしました。指定されたキーは有効な Google API キーではないか、このサイトの Google Maps Javascript API v3 に対して承認されていません。このアプリケーションの所有者である場合は、 https ://developers.google.com/maps/documentation/javascript/tutorial#api_key で有効なキーを取得する方法を確認できます。

Google API コンソールの許可されたリファラー セクションに「localhost」を追加したので、マップ API がローカル マシンで動作していることはわかっています。グローバル IP をこのリストに追加しようとしましたが、localhost:8888、localhost:8020 などは役に立ちませんでした。

「許可」リストに追加できるように、Google が取得しているリファラーを追跡する良い方法はありますか? JSで「document.referrer」を試しましたが、ローカル(マップが機能している)とローカルネットワークリモートアクセス(フィドラーを介してマップが機能していない)の両方で空白が返されます。

私は PHP を使用していないので、JS の何かが理想的です。Google Maps API が JavaScript として追加されているため、これは可能であると思います。

どんな助けでも大歓迎です、乾杯。

4

1 に答える 1

1

alert(location.host) を試したところ、ローカル IP + ポート (192.168.1.100:8888) が返されました。

Google APIがAPIキーにアクセスする方法を変更することで、実際にこれを解決できました。HTMLページのJS呼び出しにキーを含めていましたが、これは不要になったようで、削除するとLAN全体で機能しました。現在は次のようになっています。

<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false">

Google API リファラー セクションで必要だったのは、事前に用意していたものだけだったことに注意してください。

http://localhost/*
于 2013-05-29T15:17:47.490 に答える