限制访问者

时间:2017-12-11 13:40:45

标签: google-maps google-maps-api-3 google-places-api

步骤:

  1. 创建新的Google API密钥
  2. 在img标记
  3. 中查看Google Place Photo的页面
  4. 显示请求的图像
  5. 向密钥添加'HTTP referrer'限制:https://example.com/ *
  6. 使用img标记中的Google地方相片查看页面
  7. 返回403响应而不是img
  8. 当使用相同的键进行地方自动填充或地图时,一切仍然可以正常工作。我希望它也适用于Place Photos,但事实并非如此。

    可能导致此问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

地点自动填充功能是Google Maps JavaScript API的一部分,因此具有HTTP引荐来源限制的API密钥效果很好。

Google地方照片是Places API网络服务的一部分。 Web服务仅支持IP地址限制,它们将因API密钥对API密钥的限制而失败。

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

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

如果您打算在JavaScript代码中使用地方照片,则只需使用此getPlace中所示的example方法从自动填充中获取地点,然后循环浏览PlaceResult个对象的照片数组

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

查看文档以获取更多详细信息:

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

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