Sync Quota Exceeded: Where can I find my sync quota? - google-api

When using the google-apis People API I encountered a "Sync Quota Exceeded" error while executing requests to maintain an updated state of my contact list. The request rate was once every 5 seconds. I think I left it on overnight.
I remember reading (Though I can't find the source anymore in either Calendar or People) that requests with sync tokens have their own quota. Where is that quota? Can I request that it be raised?
If I go to all my Quotas in IAM and Admin I can see my People API quotas
And if I go to the People API Usage, I can see quotas, but not their usage. I also see no mention of the sync quota. Where can I find information about the Sync Quota?
People API Critical read requests per minute per user
People API Critical write requests per minute per user
People API Write requests per minute per user
People API Read requests per minute per user

the quota can be found in https://console.developers.google.com -> APIs & Services -> Library -> search People API -> click to Manage -> Quotas.

Related

Google Gmail API User-rate limit for internal (unverified) apps

After 40 calls to users.settings.filters.create I start to receive User-rate limit errors. All future filters.create calls then fail for the next (approx) 24hrs. Specific error message below.
HTTP 429
"User-rate limit exceeded. Retry after 2021-05-19T07:24:15.104Z
(Forwarding rules)] Location[ - ] Reason[rateLimitExceeded]
Domain[global]"
I have a 5-second delay between each call, so well under the published daily usage and per-user rate limits. I calculate the API allows 250 / 5 = 50 calls per second.
https://developers.google.com/gmail/api/reference/quota
We are using Google Workspace Legacy edition, the project OAuth consent is set for Internal use and the project is not verified (not a requirement for Internal).
Is there an obvious reason that 40 consecutive filters.create calls spread over 200 seconds would trigger a User-rate limit in these circumstances?
Limitations for unverified apps are across the board. The fact that your app is for internal use only doesn't matter you must still abide by the unverified app restrictions.
If you want to be able to send more then that you will need to apply for verification.
Because your app is for workspace account and internal use it should be easer for you to verify it.

How long before new quota takes effect

I requested quota increase on the YouTube API though the google developer console from 10k to 100k.
I received a successful email, that says my increase has been approved
However if i check the UI in Google developer console it still states my quota is 10,000 per day.
When will my quota increase take effect?
The first thing i would do would be check that you are looking at the correct project. As this quota will be only valid for the project you applied for.
Then you need to edit the quota and increase it yourself. You should have that option to do that now. If you don't have that option I would wait a couple of days, to see if it doesn't kick in.
You might want to start sending requests and see if the quota increase is actually there its not not appearing in the UI yet.

Gmail-API request quota at a user level

Note: This question is about something that I do not understand in the documentation here:
https://developers.google.com/gmail/api/v1/reference/quota#concurrent_requests
Concurrent Requests
The Gmail API enforces a per-user concurrent request limit (in
addition to the per-user rate limit). This limit is shared by all
Gmail API clients accessing a given user and ensures that no API
client is overloading a Gmail user mailbox or their backend server.
enforces a per-user concurrent request limit (in addition to the per-user rate limit).
I do not find what is the 'per-user concurrent request' anywhere in their documentation. Whereas the per-user rate limit is found at the top in the same page.
https://developers.google.com/gmail/api/v1/reference/quota#top_of_page
The Gmail API enforces a per-user concurrent request limit (in addition to the per-user rate limit). This limit is shared by all Gmail API clients accessing a given user and ensures that no API client is overloading a Gmail user mailbox or their backend server.
The confusion here is the difference between per-user concurrent request limit and per-user rate limit
Lets say I make an app that lets users read from their Gmail account. I am going to be limited by the number of request each user can make though MY app the limit is per-user rate limit
Now lets say the user installs your app which also allows them to access their Gmail account. You are also limited to how fast the user can access the api via the per-user rate limit.
However both of our APPs and the gmail and inbox apps are are all running with the same per-user concurrent request limit concurrent meaning across all of the apps the user is using.
the per-user concurrent request limit is probably there to ensure that a developer doesn't create a number of different projects and rip data using all of them.
To my knowledge per-user concurrent request limit is not documented its a stealth limit and i have never seen anyone who has been able to nail down exactly what the numbers are for the concurrent limits in Google APIs. With the exception of the Google Analytics API which is 10000 not including the google analytics website and the official mobile apps
Example:
per-user rate limit
User number one logs in and lists all of his emails he has 10 user gets no error.
User number two logs in, he has 1000 emails and your application tries
to select them all out in 1 second. You are going to get a rate limit error for this user. You are flooding google.
However apps by other developers will be able to access the user inbox via the API
per-user concurrent
user number one is only running your application. logs in and lists all of his emails he has 10 user gets no error.
User number two is running your application and 20 other applications by other developers. Tries lists all of his emails assuming he has done this on all the applications at the same time he may end up getting an error.
These errors are user based due to the name Per-user in the name of the limit.
Example 2:
Lets look at the Google analytics API because i know the hard numbers for this api.
A user using your app can max make 100 requests over 90 seconds. (User-app based)
An application can make max 50000 requests a day. (App Based)
An all Applications can max make 10000 requests a day against a view (concurrent app based)

Youtube video uploads rejected before API quota limit reached

The API quota for my project was successfully increased to 4M through the application process. This is confirmed in the details for the quota via the Google Developer console quota page for the enabled API.
Videos are, however, being rejected with this message after just the standard 50 uploads with this message:
Task 310: Upload failed. Exception: HttpError 400 "The user has exceeded the number of videos they may upload."
Here is an example of a successfully published video.
Thousands of videos are waiting in the queue from an event that finished days ago. Several people from Google have been trying to help but this morning I was asked to post on Stack Overflow.
badRequest (400) uploadLimitExceeded The user has exceeded the number of videos they may upload.
This isn't a project based quota which would have been upgraded. This is a user based quota which can not be upgraded. It means that the user in question has exceed their upload limit for the day. The YouTube API has a slightly different quota system than other Google APIs. The ones listed in developer console are just the general ones. You should check calculating quota usage
200,000 read operations that each retrieve two resource parts.
10,000 write operations and 90,000 additional read operations that each retrieve two resource parts.
400 video uploads, 1500 write operations, and 50,000 read operations that each retrieve two resource parts.
This quota should reset at midnight West Coast USA time. It sounds strange to me that you are seeing this after only 50 videos. I am not all that sure what denotes a user; it could be IP address or the authenticated user.
Videos: insert
Quota impact: A call to this method has a quota cost of 1600 units in addition to the costs of the specified resource parts.
So Google support got back with a note saying that we'll just have to wait for the quota refresh... I can't even see any difference from the 'increased upload' capacity and the limit does seem to be 50 (roughly at least). I've asked them how long the anti-spam upload freeze actually is but I'll carry on breathing whilst I wait for that puppy.
Special thanks for help from DalmTo and halfer though.
Message from Google Support:
I have enabled "Increased upload" capacity for your channel. Please
re-login to your account and check if all works fine.
We don't have any 50 videos per day limit anymore tell the truth, but
we have antispam algorithms which may temporary suspend your Upload
function.
This algorithm is confidential, so I can not discuss this feature in
details. If you can not upload videos you should just wait I am
afraid. But I hope "Increased upload" will help.

Increasing GA daily request quota

We have a self-hosted content management system which offers clients the ability to sync data from their GA profile with the content they maintain within the application. So, we're dealing with an arbitrary number of clients who can have an arbitrary number of profiles. Each client is required to simply enter their profile ID and request a token.
The issue we are running into is our Google Developer project is hitting its 50k/day quota pretty quickly, but Google has been unresponsive with our requests to increase this quota. Does anyone have experience with requesting an increase? If so, about how long did it take?
Aside from a quota increase, does anyone have suggestions on how we can avoid this situation?
It can take several weeks to get the quota set up. That is why it is recommended that you keep a check on your quota and request when you hit 80% of max. Only way to avoid it is to tune your requests don't request data you already have again store it in your system. if its an existing customer you should only be requesting the last few days worth of data. Everything else is static and shouldn't change.
How long ago did you request it and how critical is your problem?

Resources