Google Calendar API "Calendar usage limits exceeded." - google-api

we have an application that takes patient's data and set up an appointment according to it. That appt can then be carried over to google calendar via Google calendar API
everything have been working fine until I started receiving this error.
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "quotaExceeded",
"message": "Calendar usage limits exceeded."
}
],
"code": 403,
"message": "Calendar usage limits exceeded."
}
we have been sending API request to enter the appointment event to multiple google calendars 8 to be precise.
I don't get why is my limit exceeding when on developer console it is showing me that my current usage percentage is still low.
I'm still a beginner to this so please help me in this matter.
I had tried sending a request to google to increase my limit per user from 600 to 3000.
All I can find on internet is that I have to buy a billing account to get access to other resources.

Related

How do I list google google business profile locations from an account ID using google business profile API without getting a 429?

I have been approved for the google business profile api after folliwing the prerequisites and gaining approval for access found here. Continuing, per the instructions in the project in the google business cloud dashboard I have added the following API's:
Google My Business API PRIVATE
My Business Account Management API
My Business Business Calls API
My Business Business Information API
My Business Lodging API
My Business Notifications API
My Business Place Actions API
My Business Q&A API
My Business Verifications API
Continuing per the instructions found here for basic set up, I am able to get to the point when I can get the Account ID of the person authorized in the Google api playground.
With the exception of search functionality, when trying to do anything related to the scope of businessbusinessinformation.googleapis.com all my requests return a 429. For example, the following request:
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/1023160XXXXX/locations
{
"error": {
"status": "RESOURCE_EXHAUSTED",
"message": "Quota exceeded for quota metric 'Requests' and limit 'Requests per minute' of service 'mybusinessbusinessinformation.googleapis.com' for consumer 'project_number:40740XXXXXX'.",
"code": 429,
"details": [
{
"reason": "RATE_LIMIT_EXCEEDED",
"#type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "googleapis.com",
"metadata": {
"service": "mybusinessbusinessinformation.googleapis.com",
"quota_limit": "DefaultRequestsPerMinutePerProject",
"quota_location": "global",
"quota_metric": "mybusinessbusinessinformation.googleapis.com/default_requests",
"quota_limit_value": "0",
"consumer": "projects/40740XXXXXXX"
}
},
{
"#type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"url": "https://cloud.google.com/docs/quota#requesting_higher_quota",
"description": "Request a higher quota limit."
}
]
}
]
}
}
Reviewing all the visible quotas related to the API I can't find any that say 0. I have filled out a general form for quoata increase as I can see nowhere in the dashboard where I can directly see the DefaultRequestsPerMinutePerProject setting to request a quota increase.
Since originally writing this a few days ago, I made a quota request increase via the google form, but I am not sure if that will address anything as it seems strange this would not be working "out of the box" after receiving approval prior for this api.
Any suggestions would be great!
After contacting google api support, the 429 went away, there is nothing else that was done to resolve this issue.
I am unsure if it was related to my account specifically or if it was related to the normal expected process for using this endpoint on all accounts.

Enable Google My Business API. Api calls failed

I tried to access GMB account list api with an access token having scope
https://www.googleapis.com/auth/business.manage
{
"error": {
"code": 403,
"message": "Google My Business API has not been used in project xxxxxx before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/mybusiness.googleapis.com/overview?project=xxxxxx then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"status": "PERMISSION_DENIED",
"details": [
{
"#type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developers console API activation",
"url": "https://console.developers.google.com/apis/api/mybusiness.googleapis.com/overview?project=xxxxx"
}
]
}
]
}
}
Whenever I tried to submit request from I got an email from GMB that
Your company already has a whitelisted project to access the Google My Business API. At this time, we are only whitelisting one project per business..
I checked, but there is no library with name Google My Business.
Current enabled Libraries are
Have you submitted the form to get access to the GMB API?
https://docs.google.com/forms/d/e/1FAIpQLSfC_FKSWzbSae_5rOpgwFeIUzXUF1JCQnlsZM_gC1I2UHjA3w/viewform
When you fill it, you have to precise the email addresses that Google will grant access to. Maybe someone else filled in for your company but didn't mention your email address.
In my case, when I received a confirmation email from the GMB team, I was able to see the GMB API when I searched for it in the console (see screenshot)
Then, all I had to do was to click to enable it.

Get Google+ profile picture url by user_id issue

I released multi player game two years ago, and I have integrated google+ sign in two weeks ago. Google+ sign in works perfectly on both platforms Web and Android, but there is issue when profile pictures are shown in list of online players on both platforms. Some profile pictures are shown, some are not.
To get profile picture I have used:
https://www.googleapis.com/plus/v1/people/{user_id}?fields=image&key={browser_key or android_key}
In case when request is failed, status is 404.
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "Not Found"
}
],
"code": 404,
"message": "Not Found"
}
}
Here you can find Google+ API report
Any comment/suggestion or hint are welcome. Thank you.
Users are no longer required to create accounts on Google+. Profile data is linked to google+ So if you have a user logged in who has not made an account on google+ your not going to find any data.
GET https://www.googleapis.com/plus/v1/people/111102772937280436258
result
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "Not Found"
}
],
"code": 404,
"message": "Not Found"
}
}
Google+ page link doesnt work. This one user does have a google+ account thats why it works.
Suggestion ask the user to create a google+ account or give them the ability to upload their own picture to your system. I dont think there is a way for you to programmaticly update the users profile picture on Google.

YouTube quotas exceeded

I'm developer and I want to upload a video using the YouTube Data API v3, but it always return the error code "quotas exceeded". I never succeeded upload a video so it's strange...
Do you have a solution for this problem or support address mail to contact in order to solve the problem ?
I send to the API that video with attachment:
curl --request POST \
--url 'https://www.googleapis.com/upload/youtube/v3/videos?part=snippet%2Cstatus' \
--header 'authorization: Bearer MyAccessToken' \
--header 'cache-control: no-cache' \
--header 'content-type: application/octet-stream'
Here is the error:
{
"error": {
"errors": [{
"domain": "youtube.quota",
"reason": "quotaExceeded",
"message": "The request cannot be completed because you have exceeded your quota."
}],
"code": 403,
"message": "The request cannot be completed because you have exceeded your quota."
}
}
I had the same issue and found out that the "Queries per day" limit was set to 0. I created a new project, with a new key. The new project got a quota of 10k per day. Problem solved.
All Google APIs have quotas. This is the number of requests that you can make over a given amount of time. Some of the quotas are based per day others can be per second or per hour.
{
"error": {
"errors": [
{
"domain": "youtube.quota",
"reason": "quotaExceeded",
"message": "The request cannot be completed because you have exceeded your quota."
}
],
"code": 403,
"message": "The request cannot be completed because you have exceeded your quota."
}
}
Its a little hard to tell which quota this is you are hitting i am gong to have to guess its one of the daily quotas. Once you hit this quota you will not be able to make any more requests until midnight West Coast USA time this is when your quota will reset.
If you go to the Google developer console and check the quota tab under the YouTube API some of these quotas can be increased by clicking the little pencil icon and seeing the number up. Contacting google will not help you in this case we all have the same quota for the API contacting them and asking for more wont help they are just going to tell you to increase it yourself.
It would also be a good idea for you to go though what requests you are making so that you are only requesting the data you really need rather then making a large number of requests for data you may not really need.
Note: I believe the upper limit for uploading videos per day is between twenty five and fifty. There is no way to increase this number it is a hard set quota.
In early Oct 2020, I get this error too. FYI, my quota, on a fresh project and new fresh client after one attempt to upload one video (unsuccessful) shows 9,600 queries and there is a 10,000 query limit per day. Something seems broken. On https://console.developers.google.com on the OAuth consent screen, I do note that Scopes for Google APIs does not include YouTube video upload. If you have installed YouTube Data API v3, you can see that "../auth/youtube.upload" is one of the scopes available to add, but it is "Sensitive" and requires that your app be reviewed. Like, what app, Google? I'm just personally writing a script on my laptop to upload my videos to my own channel to save time. That should be an exception, but I get "Because you've added a sensitive scope, your consent screen requires verification by Google before it's published." Okay, sooo... "To protect you and your users, Google only allows applications that authenticate using OAuth to use Authorized Domains." In other words, not possible unless I write my script to run on a server?
Sharing some things we found out the hard way:
Quota:
The Quota number you see in google console equals "quota units", not "number of requests". For context, one insert request costs 1600 units.
When we first enabled the Youtube Data API on Google console, it gave us up a quota limit of 10000 but the "current quota" was set to 9600, so no video upload was possible. Just wait 24 hours.
Make sure to get authentication right first since the API counts "unauthorized" requests in the quota. That means 6 failed upload requests = 9600 quota = retry in 24h. Use something lighter like a list(my channel) request.
Auth:
Do not create a separate channel. Create a channel on your registered Gmail. You should be able to see your channel when shooting a list(my channel) request. The quota message still applies (and counts units) here, even if you are trying to upload to a channel that does not exist.
Service keys (used for machine-to-machine auth) don't work. Quota on those bound-to-fail requests still applies. You need to use OAUTH2. This standalone-scripts guide worked for us. Parts of the sample code provided will automatically handle fetching/refreshing the tokens for you.
Hello for resolve the problem you must use accessToken an apiClient and not that of the console oAuth Google. Api Client Youtube
When I use accessToken of this console not working... :) Google oAuth Console
I had the same problem BUT in Logger of Google Ads (from scripts section of Google Ads account).
I know that limit is about 10k quota units.
New day has come but limit hasn't updated.
I deleted script from Google Ads, then created again and signed in Youtube account - and script started working.
Maybe this will help someone

Google calendar api creating event return Calendar usage limits exceeded

Here is the error message:
"code": 403, "message": "Calendar usage limits exceeded."
But when I check in google developer console, there is no API limitation being hit. And have nowhere to check what is the limitation I am facing.
(I am creating around 150 events per day, I have a master account, and I using this account for inserting events for other account under the same domain, any suggestions are welcome)
After two days intense testing, finally find the error, we have an same attendee for every event, after delete this attendee, everything works again.

Resources