我几乎阅读了所有涉及此问题的帖子。大多数答案都是“使用Javascript API”。我认为这不是一个有效的答案。我正在尝试在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.
我还尝试过“Any Referer”API密钥但没有成功。 为了允许这种AJAX调用,是不是设置了这个引用? 我在Gunicorn服务器上运行Django应用程序,它可以与'5000'端口相关吗?
答案 0 :(得分:1)
好的还有其他解决方案应该有效:
尝试使用ssh隧道。
如果您使用localtunnel,则设置非常简单。
sudo gem install localtunnel
这是一个例子:
$ localtunnel -k ~/.ssh/id_rsa.pub 8080
你应该看到这样的事情: 现在可以从http://8bv2.localtunnel.com ...
公开访问端口8080您现在可以将此URI放入Google控制台。
但请注意,使用此解决方案时,您的localhost是公开的。