karl_TUM
karl_TUM

Reputation: 5929

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

I want to use Google Street View API to download some images in python.

Sometimes there is no image return in one area, but the API key can be used.

enter image description here

Other time API key is expired or invalid, and also cannot return image.

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

How to distinguish these two situations with code in Python?

Thank you very much.

Upvotes: 0

Views: 1737

Answers (1)

elethan
elethan

Reputation: 16993

One way to do this would be to make an api call with the requests library, and parse the JSON response:

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')

Now error_message will be the text of the error message (e.g., 'The provided API key is expired.'), or will be None if there is no error message. So later in your code you can check if there is an error message, and do things based on the content of the message:

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

You could also check the key 'status' if you just want to see if the request was successful or not:

status = results.get('status')

Upvotes: 2

Related Questions