Python:如何查看Google街景APIreturns无图或API密钥过期?

Python: how to check whether Google street view API returns no image or the API key is expired?

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

有时一个区域没有图像return,但是API键可以使用

其他时候API密钥过期无效,也不能return镜像。

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

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

非常感谢。

一种方法是使用 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')