cortfr
cortfr

Reputation: 1125

Started receiving 429 Too Many Requests from Google Calendar API

Yesterday (June 22nd, 2020) at 2pm Pacific, we started getting back 429 errors for all our requests to the Google Calendar V3 API. The body returned is html that asks the user to fill out a captcha.

These errors are not the standard 403 errors you get when you hit Google Calendar quota limits. Also, we checked, and we haven't hit Google Calendar API limits. So I assume this rate limiting is happening at a different level.

We fixed the issue yesterday by changing the IP address that we are sending these requests from. Unfortunately, again at 2pm today (June 23rd, 2020) the problem started happening again.

We are not getting these errors back from the Google Address Book API. It just seems to be Google Calendar API.

Has anyone else noticed 429 errors from Google Calendar API over the last few days? Or is Google listening and might be able to help?

Thanks!

Upvotes: 10

Views: 7635

Answers (2)

Pavlo Naumenko
Pavlo Naumenko

Reputation: 732

I had had the same issue with Google Calendar API today. HTTP Code 426 and HTML page with captcha in the response body. This decision had helped me

If you use python you need to replace

build('calendar', 'v3', http=creds.authorize(Http()))

with:

DISCOVERY_DOC = json.load(open(os.path.join(SCRIPT_DIR, 'calendar-api.json')))
googleapiclient.discovery.build_from_document(DISCOVERY_DOC,http=creds.authorize(Http()))

calendar-api.json you can download from this link

Upvotes: 2

ziganotschka
ziganotschka

Reputation: 26796

There seems to be a new issue that has been filed on June 19th on Google's Public Issue Tracker

Seems like several users are affected, but the issue is reported to be currently investigated.

I recommend you to "star" the issue in order to stay up to date to its current state.

In the meantime, since the 429 error seems to be related to rateLimitExceeded, you can try to workaround in the same way like for 403 errors, that is e.g. implement exponential backoff as described in the documentation.

Upvotes: 6

Related Questions