Google 限制引用者访问时放置照片 returns 403

Google Place Photo returns 403 when restricting access by referer

步骤:

  1. 创建新的 Google API 密钥
  2. 查看 img 标签中带有 Google Place Photo 的页面
  3. 显示请求的图像
  4. 对键添加'HTTP referrer'限制:https://example.com/*
  5. 查看页面 Google 在 img 标签中放置照片
  6. 返回 403 响应而不是 img

当对地点自动完成或地图使用相同的键时,一切仍然正常。我希望它也能与 Place Photos 一起正常工作,但事实并非如此。

什么可能导致此问题?

地点自动完成是 Google 地图 JavaScript API 的一部分,因此具有 HTTP 引荐来源限制的 API 密钥效果很好。

Google 地点照片是地点 API 网络服务的一部分。 Web 服务仅支持 IP 地址限制,它们将因对 API 键的 HTTP 引荐来源网址限制而失败。

您可以在此处阅读适用于每个 API 的限制:

https://developers.google.com/maps/faq#keysystem

如果您打算在 JavaScript 代码中使用地点照片,您可以使用 getPlace method as shown in this example and loop through photos array of PlaceResult 对象从自动完成中获取地点。

google.maps.places.PlacePhoto对象提供getUrl()地方照片returnsURL的方法。使用此方法获取图像的URL。

查看文档了解更多详细信息:

https://developers.google.com/maps/documentation/javascript/reference#PlacePhoto

place.photos.forEach(function (placePhoto) {
    var url = placePhoto.getUrl({
        maxWidth: 600,
        maxHeight: 400
    });
});