1

この問題に関するほとんどすべての投稿を読みました。答えのほとんどは「代わりにJavascriptAPIを使用する」でした。それは正しい答えではないと思います。ローカルと開発サーバーの両方でテストできるように、GoogleのAPIコンソールでリファラーを設定しようとしています。

これは、GoogleのAPIコンソールからの私のAPIキーです。 ここに画像の説明を入力してください

これは私の要求です:

Request URL:https://maps.googleapis.com/maps/api/place/autocomplete/json?input=a&sensor=false&key=AIzaSyABBKjubUcAk69Kijktx-XXXXXXXXXX
Accept:*/*
Origin:http://localhost:5000
Referer:http://localhost:5000/users/profile/edit/location/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1

よく知られているエラーが発生します:

Origin http://localhost:5000 is not allowed by Access-Control-Allow-Origin.

また、「Anyreferer」APIキーを試しましたが成功しませんでした。この種のAJAX呼び出しを許可するために、このリファラーが設定されていませんか?GunicornサーバーでDjangoアプリを実行していますが、「5000」ポートに関連するものでしょうか?

4

1 に答える 1

1

うまくいくはずの他の解決策があります:

sshトンネルを使用してみてください。

localtunnelを使用する場合、セットアップは非常に簡単です。

  • ステップ1:sudo gem install localtunnelターミナルで実行する
  • ステップ2:任意のポートでローカルWebサーバーを実行します!ポート8080でApacheを実行しているとしましょう。
  • ステップ3:次に、共有するポートを渡してlocaltunnelを実行します。localtunnelを初めて実行するときは、公開SSHキーを指定する必要があります。ヘルプが必要な場合は、READMEを確認してください。

次に例を示します。 $ localtunnel -k ~/.ssh/id_rsa.pub 8080

次のように表示されます。ポート8080は、 http: //8bv2.localtunnel.comから一般公開されています...

これで、このURIをGoogleコンソールに配置できます。

ただし、このソリューションを使用する場合は、ローカルホストが公開されていることに注意してください。

于 2012-08-16T00:19:52.670 に答える