【问题标题】:GETting an image from google places photo api call从谷歌地方照片API调用获取图像
【发布时间】:2016-05-16 00:43:13
【问题描述】:

我正在尝试按照此处的说明获取图像: https://developers.google.com/places/web-service/photos#photo_references

一切顺利:我收到了图像(如果我愿意,可以保存图像)。我还应该指出,我正在使用 python。

我想知道是否有一种简单的方法可以在网页中显示接收到的图像(我在呈现的 html 页面中使用接收到的图像),而无需通过将图像保存到文件然后链接该文件的过程.

希望这很清楚。谢谢。

【问题讨论】:

  • 是的,将图像保存在内存中
  • 我不关注。我正在发送呈现的网页,而不是自己查看它

标签: python django image http google-places-api


【解决方案1】:

最简单的选择是只在网页中执行<img src="https://maps.googleapis.com/maps/api/place/photo?photo_reference=..." />,而不是在您的服务器中执行该 URL 的 GET。

这样做的缺点是它会将您的 API 密钥暴露给任何查看该网页的人。有多种方法可以避免这种情况,但需要权衡取舍:

  1. 通过您的服务器代理该请求(这可以强制该请求来自您的页面,例如通过检查 HTTP Referer 标头)。例如。您服务器上的 URL 路径,例如 /getphoto?photo_reference=...&maxwidth=...,然后使用这些参数和您添加的 API 密钥触发对 Google Places API 的 GET,并将响应传回,或者
  2. 使用Places library for the Javascript Google Maps API(您可以使用在您的网站上安全公开的浏览器密钥),或
  3. 在服务器端执行GET请求,并将图像编码为<img src="data:image/png;base64,...">标签。除非您只获取缩略图大小的图像,否则我不推荐此选项。它会显着增加页面加载和呈现时间的延迟,并显着增加服务器的内存开销。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2012-01-17
    • 2017-03-27
    相关资源
    最近更新 更多