Places API不接受引用

时间:2012-08-15 10:27:29

标签: jquery google-places-api

我几乎阅读了所有涉及此问题的帖子。大多数答案都是“使用Javascript API”。我认为这不是一个有效的答案。我正在尝试在Google的API控制台上设置引用,这样我就可以在本地和我的开发服务器上进行测试。

这是来自Google API控制台的API密钥: enter image description here

这是我的要求:

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.

我还尝试过“Any Referer”API密钥但没有成功。 为了允许这种AJAX调用,是不是设置了这个引用? 我在Gunicorn服务器上运行Django应用程序,它可以与'5000'端口相关吗?

1 个答案:

答案 0 :(得分:1)

好的还有其他解决方案应该有效:

尝试使用ssh隧道。

如果您使用localtunnel,则设置非常简单。

  • 第1步:在终端
  • 中运行sudo gem install localtunnel
  • 步骤2:在任何端口上运行本地Web服务器!假设您在端口8080上运行Apache。
  • 步骤3:现在运行localtunnel将端口传递给共享端口。第一次运行localtunnel时,您必须指向公共SSH密钥。如果需要帮助,请查看自述文件。

这是一个例子: $ localtunnel -k ~/.ssh/id_rsa.pub 8080

你应该看到这样的事情: 现在可以从http://8bv2.localtunnel.com ...

公开访问端口8080

您现在可以将此URI放入Google控制台。

但请注意,使用此解决方案时,您的localhost是公开的。