Is there any way to know the waitTime if Google calendar usageLimit or rateLimit is reached - google-calendar-api

I am working on developing integration with Google Calendar using Rest API. I got to know Google applies both rateLimit and usageLimit on API calls - 403_calendar_usage_limits_exceeded
In case I breach the limits, I want to wait for a defined period of time before I retry the request again. Is there any way to know if there is something like Retry-After header returned by Google.
I checked documentation but not able to find anything related - errors

You can see your quota in google developer console under libary search for google calendar and then click the manage button. Under the quota tab you will see something like this.
There are two types of quota user based quota denoted by the "per user" and project based quotas.
Each user running my application can make a max of 600 requests per minute. if they make to many then i will get a quota exception.
My application can make a max of 10000 request per minute in total. if it makes more then that then again i will get a quota exception.
You may want to read though Manage quotas this explains a lot about quota usage and the google calendar api.
For the most part if you just implement exponential backoff you should be able to avoid to many of these errors.
try request if fails
wait 10 seconds
try again if fails
wait 20 seconds
try again if fails
wait 30 seconds
try again
.......

Related

Google Analytics Management API write requests quota limit

What is the Google Analytics Management Write API quota limit? Is it 50 requests per day or 500, because the documentation states that it is 50 requests per day but when I'm filling the quota augmentation demand form, it says that it's 500 requests.
50 requests seem to be too low and it is the case for my project.
On the other hand, where can I check my daily usage of write requests? The console usage tab doesn't show it.
EDIT: Here is a screenshot of the Google Form to demand an increase in quota limits
Google form quota limits
Google Management Write API is at 500 requests per day.
The quota limits depend a lot upon which methods you are using. Please consult the Quota Limits documentation.
The following quotas apply to Management API, Core Reporting API v3, MCF Reporting API, Metadata API, User Deletion API, and Real Time Reporting API:
50,000 requests per project per day, which can be increased.
10 queries per second (QPS) per IP address.
In the API Console, there is a similar quota referred to as Requests per 100 seconds per user. By default, it is set to 100 requests per 100 seconds per user and can be adjusted to a maximum value of 1,000. But the number of requests to the API is restricted to a maximum of 10 requests per second per user.
If your application makes all API requests from a single IP address (i.e., on behalf of your users), use the userIP or quotaUser parameter with each request to get full QPS quota for each user. See the standard query parameters summary for details.
Write APIs
These quotas apply to the write (insert, update, patch, and delete) requests:
50 write requests per project per day, which can be increased
1.5 queries per second (QPS) per Account ID
actually quota
response from Google
the default quota is 50.
There used to be a whitelist so it was effectively 0 until you got whitelisted and then it was 500 (once whitelisted). We removed the whitelist and reduced it to 50 so that people can use the API without having to wait to be whitelsited. If they need more they can request additional quota.
I wonder exactly the same. I wish to get my write quota increased to 500.
From my experience, the usage of your write requests is under "Queries per day". This morning I only made 50 write requests and it now shows 50/50 000 queries for today. Doesn't really make sense...
This post won't clear up the write quota but it will show a source of the confusion - hopefully Google will clarify this
This api-quota-faqs page clarifies a number of ambiguities regarding quotas and batching (e.g. batching doesn't help with the Management API write quota).
But the 50 vs 500 ambiguity is currently still perpetuated: The current version of that page shows "Last updated April 13, 2018":
What is the maximum quota increase limit for Management API write requests?
The maximum daily quota per project for Management API write requests is 500. We normally don't grant more than 1,000 to 2,000 write requests per project per day. In some cases, we grant higher limits temporarily. Please include your justification in the quota increase request form.
That page is required reading before submitting the form to request an increase but that shows 50 - see image
Our usage metrics shows 71 successful Management API write requests for the day but we still got write quota errors - so neither 50 nor 500 is validated.
Regarding finding the usage:
(I don't see our Management API write quota listed with the other quotas)
The traffic and error metrics are found at APIs & Services > Dashboard.
Clicking on the Analytics API will take you to detailed metrics with listings by method (e.g. insert, update, etc)
URL is:
https://console.developers.google.com/apis/api/analytics.googleapis.com/metrics?project=project-id-9731708857265513301 (replace with your project id)

How do I increase the rate limit for Google translate API?

I am getting a HTTP 403 error with message: "... returned "User Rate Limit Exceeded">. after about 5K message translation. I have a deadline to get this done and the forum postings are not getting any responses from Google support.
The FAQ page states the following:
I get an HTTP 403 error when I call the API.
You may be exceeding your quota: either the daily billable total, or the limit on request characters per second.
To view or change usage limits for your project, or to request an increase to your quota, open the API Library in the Cloud Platform Console.
If you have enabled billing for your project, you can see the quota percentage for each API. You can view and change quotas from the API section's API Library and Enabled APIs links
======================*
I have my rate at the maximum allowable which is 10K/100sec/user, I cannot increase past that.
characters/100seconds/user 10,000
And when I go to the quota request page to ask Google support to increase it, the only thing I see is the character increase request, not the rate increase, and it does not let me submit the form.
How do I get someone at Google to look at this without paying $300 for silver support - that is the lowest level at which they provide phone support.
===============
*Translate API Quota Increase Request
This form should be used by customers of Google Cloud Platform for the following:
Owners of applications that wish to increase quota limit of Translate API to higher than 50M characters/day
If you wish to increase your quota, but will stay below 50M characters/day, please follow the steps listed on the Translate API FAQ page.
If you have other questions related to Translate API, please check this public forum for further help.
=================
I got the answer back from Google - you need to input 51 or greater into the request form (not 51M which I was trying and the form would just not let me submit).
At the current rate, my program will take about 8 hours to run if I put in the right timing delays, and I cannot monitor my program...hoping Google will increase the rate quota
If seems you're hitting the characters/100seconds/user quota. Currently there isn't any separate form to request an increase to this specific quota. You can request an increase by filling out the Translate API Quota Increase Request form. You'll need to specify 'Approximate translate volume (M characters/day)' as anything > 50 (e.g. 51) to get past the form validation. Inside 'Detailed description of API Usage' section, please explain in details that you need an increase to the characters/100seconds/user quota (along with desired increase) and not to characters/day.

Determine google application remaining global quota

In the google applications developer console I can see the global quota usage for a google API:
I would like to achieve the following:
Be able to programatically query the remaining quota, to ensure that important tasks can always be completed.
Receive some form of alert when we are approaching the quota limit.
So far I have tried configuring the 'Monitoring' section of the developer console, but all I can see are uptime checks. This question has also been asked in other areas of the interwebs but no-one has ever received an answer.
At this time there is no API for checking the quota on the Google Developer console.

Google Analytics "daily Limit Exceeded Quota error" & register application properly with gapi.class.php

I used gapi.class.php and have another analytics-dash.php template which I'm calling as an include on a page template in WP. This shows a chart and stats of analytics on the front end of WP to my admin and authors. This template is connected to my site's GA profile ID and all is well, it works and shows the stats. However, the first night after implementation we received the error "GDatadailyLimitExceededQuota" on the site. I have since removed the include script from my page template so the error will not show.
These are the steps I took to try and fix the problem:
I researched into the error "dailyLimitExceededQuota", which I researched and Google's API states the following:
"If quota is exceeded, Google Analytics API returns an error for additional requests:
HTTP status code 403 Forbidden and a message indicating that the specific account has insufficient quota to proceed...
50,000 requests per project per day
10 queries per second (QPS) per IP.
To get full quota, you must register your application in the Google Developers Console. When you register a new application, you are given a unique client ID to identify each application under that project."
Then I realized I needed to register with Google's Developer Console as the quota limit is very low for testing without registering.
I registered the application and turned on the Analytics API in the console. I'm not sure what else I am to do after registering the application.
I followed the instructions to increase the quota (Configuration and Reporting API Limits and Quotas)
by using this form:
Analytics API quota request
I went through the steps on the form to make sure I am setting this up correctly. On that form, it states the following:
"Quotas that CAN be increased:
Per project daily limit of 50,000 requests/day.
Per project daily limit of 500 uploads/day.
Quotas that CANNOT be increased:
Per profile (user) limit of 10,000 requests/day [403 Error with Message about Profile limit: dailyLimitExceeded]
Per profile (user) limit of 10 concurrent requests per profile [403 Error: quotaExceeded]
Per IP limits of 10 queries/second (QPS) [403 Error: userRateLimitExceeded]"
... proceed to check that we "Verify that the quota you are asking for can be increased. See the list above."
This is referring to the quotas that can and cannot be increased (above). Since we received error "dailyLimitExceed", and this is associated with "per profile (user) limit of 10,000 requests/day" - this is under the list that CANNOT be increased. However this was before registering the application with Google's Developer Console so I'm thinking now, since I registered it as an application/project, it can be considered to have a daily limit of 50,000 requests/day. Then if I enable it again on our website, I'm thinking the error would not show, however this I am unsure because I'm not sure if I setup the registration fully. Could it be that simple to register an application?
The next step on the form states:
"(4) Verify your API requests are properly registered with a Developers Console Project. Check the Reports Developers Console. If total requests in the traffic report is 0 then your API requests are not registered to your project ID and you are not currently getting your full quota."
However, it is going to show 0 currently because I removed the include script from our website! So I'm thinking the only way to test against this (#4 on form) is to put the script back in. Then if the error shows, that could mean that either it is not communicating with the registered application I just created, or it simply exceeds the limit. Therefore I would need to fill out this form, which I did, to ask for a quote increase. However, I'm hesitant to put the script back in to display the analytics chart until I hear back from Google (not sure how long it takes for them to respond to the increase quota request) because I don't want another dailyLimitExceeded error to be thrown and show on the front end.
Any thoughts? Thank you very much for your consideration in helping.

Google Analytics quota dayshift

I'm working on a solution where we need to request the Google Analytics API quite a lot. Now the issue is I want to allocate my requests because of the day quota limits. But right now it's quite unclear when Google makes it a new day and I have another 50.000 requests to make. From the developer console report I can get a detailed picture of the daily requests used.
Does anyone knows at what time of day and in which timezone the requests are reset?
You can request that Google Extend your 50,000 quota. Note: I am not sure if they charge for this or not. You can only do this though the old Apis console for your app. I have been unable to find this feature in the new cloud developers console. (I have sent in a feature request on it)
On the right you will find a link to Request more. But you need to make sure that you don't have to many errors returning from the API this will effect weather or not they will except your request to extend.
Note: Daily quotas refresh at midnight PST.

Resources