如何为 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 来完成您的任务。
请阅读以下内容以开始使用:Link1、Link2
【讨论】:
如果需要 POST 请求,这没用 JSONP 不安全,我相信它甚至被 Google API 阻止,不推荐。改用 google api 客户端库以上是关于如何为 Google Places API 启用 CORS的主要内容,如果未能解决你的问题,请参考以下文章
Google Places API 网络服务:如何为自动完成设置多种类型
如何为我的 Android 应用获取 Google Places API 密钥
适用于 Android 的 Google Places API 未显示