如何为 Google Places API 启用 CORS

Posted

技术标签:

【中文标题】如何为 Google Places API 启用 CORS【英文标题】:How to enable CORS for Google Places API 【发布时间】:2015-07-22 14:07:19 【问题描述】:

我已尽一切可能使我的应用程序在不需要“为 Chrome 启用 CORS 扩展”的情况下运行。我按照谷歌官方网站上关于 authtokens 的步骤进行操作,尝试使用每个不同的密钥,但没有任何效果。我收到以下错误:

XMLHttpRequest 无法加载 https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=MyKey&location=33.854546,-84.35870369999999&types=restaurant&rankby=distance. 请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin http://localhost:8100 因此不允许访问。

是否甚至可以在没有 Chrome 的 CORS 扩展的情况下从应用内部访问 Google Places API?

【问题讨论】:

显然,Google 网络调用还不具体。解决此问题的唯一方法是在您的代码中引用他们的“地点”库并使用 api 调用。 【参考方案1】:

您可以使用 JSONP 代替 CORS 来完成您的任务。

请阅读以下内容以开始使用:Link1Link2

【讨论】:

如果需要 POST 请求,这没用 JSONP 不安全,我相信它甚至被 Google API 阻止,不推荐。改用 google api 客户端库

以上是关于如何为 Google Places API 启用 CORS的主要内容,如果未能解决你的问题,请参考以下文章

Google Places API 网络服务:如何为自动完成设置多种类型

如何为我的 Android 应用获取 Google Places API 密钥

适用于 Android 的 Google Places API 未显示

未启用 iOS 版 Places API

使用 google-places-api 的简单 html 页面的 ApiNotActivatedMapError

如何为 Google Chrome 启用自动登录用户身份验证