从谷歌获取图像照片api电话

时间:2016-05-16 00:43:13

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

我正按照这里的指示尝试获取图片: https://developers.google.com/places/web-service/photos#photo_references

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

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

希望这很清楚。感谢。

1 个答案:

答案 0 :(得分:-1)

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

缺点是它会将API密钥暴露给任何查看网页的人。有各种方法可以避免这种情况,需要进行不同的权衡:

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