Python:如何检查Google街景API是否返回图像或API密钥是否已过期?

时间:2016-09-23 20:08:00

标签: python api google-maps google-maps-api-3 google-street-view

我想使用Google Street View API在python中下载一些图像。

有时一个区域没有图像返回,但API密钥可以使用

enter image description here

其他时间API密钥已过期无效,也无法返回图片。

The Google Maps API server rejected your request. The provided API key is expired.

如何用Python中的代码区分这两种情况?

非常感谢。

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是使用requests库进行api调用,并解析JSON响应:

import requests
url = 'https://maps.googleapis.com/maps/api/streetview?size=600x300&location=46.414382,10.013988&heading=151.78&pitch=-0.76&key=YOUR_API_KEY'

r = requests.get(url)
results = r.json()
error_message = results.get('error_message')

现在error_message将是错误消息的文本(例如'The provided API key is expired.'),如果没有错误消息,则为None。所以稍后在您的代码中,您可以检查是否有错误消息,并根据消息的内容执行操作:

if error_message and 'The provided API key is invalid.' in error_message:
    do_something()
elif ...:
    do_something_else()

如果您只是想查看请求是否成功,您还可以检查密钥'status'

status = results.get('status')