Getting usage limit error from server - youtube-api

On Friday (6/24/2016) our youtube app crashed giving us the following error.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
The code that was run was a simple API request to check the state of a video. It has also been running without any problems for over a year.
curl https://www.googleapis.com/youtube/v3/videos?part=contentDetails,status,snippet&key=XXX&id=XXX&maxResults=50
A few thoughts:
This message makes no sense since we are passing our key as a parameter which does authenticate us. I understand this can mean I need to use OAuth but this would be a change since this has been running without errors for over a year.
When I checked our API console I found that the youtube api was marked as disabled (this changed as we enabled it to get a key last year) and I do not see any usage limit errors when I check usage in the console.
I have also found making the request to the API from a browser on my desktop works but using curl on our server gives the usage error. This indicates there is some issue with our server.
Can someone help me understand what's going on? Are there IP blocks for the API? Did Google make a change recently that would have reset my console and caused an error suddenly in our code?
Any thoughts would be greatly appreciated.

"Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
I've come across this error before. It's not that complicated. 2 things I can suggest:
You're access token has expired. You need to generate a new one. Read Implementing OAuth 2.0 Authorization.
Register a new API key in you're GDC.
Also, try oAuth Playground for testing.

Related

YouTube Data API v3 quota for query per day set to 0

We are using YouTube Data API v3 for quite some time now but suddenly it started responding with error 403 saying that the access needs to be enabled.
Here is the error message:
{
"code": 403,
"errors": [
{
"domain": "usageLimits",
"message": "Access Not Configured. YouTube Data API has not been used in project {projectId} before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId} then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"reason": "accessNotConfigured",
"extendedHelp": "https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId}"
}
],
"message": "Access Not Configured. YouTube Data API has not been used in project {projectId} before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId} then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
}
We have disable and re-enable all api wee use (youtube-data-api-v3, contacts api, google+ api). We have also try to generate new client-id and client secret without success.
Finally we have noticed that quota for request per day have been set to 0.
This is certainly the raison of why request we can not make any request to API, but we can not change this value.
Anyone have faced this issue before ?
What can i do to raise the limit of the quota ?
See this issue #211012781
Hi. If you're seeing Queries per day quota set to 0 and the API is indeed enabled, then this means that your project’s access to YouTube Data API Service has been disabled.
You should’ve received a notice via email regarding this action, which also contains the steps that need to be taken to regain the project’s access. But just in case you missed it, please fill out and submit the exceptions form below:
https://support.google.com/youtube/contact/yt_api_form?hl=en
It is stated somewhere that you should link to a billing account and then you can raise the limit from zero to anything.

Why youtube-v3-api stopped working?

We are using youtube-v3-api for quite some time now but suddenly it started responding with error 403 saying that the access needs to be enabled.
Here is the error message:
{
"code": 403,
"errors": [
{
"domain": "usageLimits",
"message": "Access Not Configured. YouTube Data API has not been used in project {projectId} before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId} then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
"reason": "accessNotConfigured",
"extendedHelp": "https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId}"
}
],
"message": "Access Not Configured. YouTube Data API has not been used in project {projectId} before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project={projectId} then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
}
But the api is enabled and it worked for months:
We use the api with oauth2 tokens and with API keys as well but we receive the same error for both.
What can be the problem?
I tried to disable and reenable the API but that didn't help.
Update:
Google support suggested that the issue maybe caused by the daily quota limit which is set to 0.
However we cannot edit this quota as shown in the picture although we have all admin rights to do so.
Does anyone experienced this? How could we raise the quota?
We already filled out a quota limit extension form and waiting for the response but I think we should be able to set to quota to a workable level on the developer console.

Google Drive API Download Error 403 Daily Limit -- Ruby

I'm having this daily limit problem with my ruby code when I try to issue a download request. This is a test program so I am running it in my terminal. I just call the ruby file.
I've followed this guide to quickly get into the Google Drive API.My code is pretty similar to that guide other than my scopes which are:
SCOPE = ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.appfolder", "https://www.googleapis.com/auth/drive.metadata"]
The credentials I am using is oAuth Service Key with "other" selected.
This is the line of code making the call.
content = HTTP.get('https://www.googleapis.com/drive/v3/files/' + file_id + "?alt=media").body
This is the error I am getting from the HTTP call.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}
I've followed this link and created all the necessary credentials to get it working, but still have had no success. Google Drive API is also enabled in my project.
How can you fix this error even after you've set up the Google API project and its credentials?
Edit: Wanted to note that I have search and upload working with the same code. Download is the only one that is giving me errors.
All the suggestions given here are not up to the mark . This is a routine error that Drive API throws and can be easily handled .As soon as you get the error , you can again request the Drive API to consider your request by using a strategy called exponential back-off . This ensures that you make a call to Drive API again , after a specified amount of time . There is a documentation about this issue by Google and is a common issue when you send too many requests at a time .Check this link right here, it is the answer to all your problems that you are facing https://developers.google.com/drive/v3/web/handle-errors#errors_and_suggested_actions . And also request an additional Quota from Google Developers Console . Additional quota can be requested under the Quotas tab in Google Developers Console. You might be lacking enough quota to make the request . The details for same are given in the link i posted above. You should create an account and request Quota as being an unauthenticated user your requests won't last long.Use Google OAuth to authenticate yourself into the Drive API.

Cannot get samples to work with youtube-api; authorization problems

I'm trying to run sample: https://github.com/youtube/api-samples/blob/master/python/search.py and am getting errors. That is, I'm unsure what to replace DEVELOPER_KEY with.
Since I'm guess I'm not using OAuth, I should have Public API, but am unsure how to proceed, since all I want to do is run from terminal this script and get some output.
I've tried creating Server Public API access with ip set to 0.0.0.0/32; but when trying to run this sample with API key I get the following error:
An HTTP error 403 occurred:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Ideally, my goal is to run a search query, get top few videos and print their view count.
EDIT:
I've opted out for using server API access with any key accepted. I fiddled with 0.0.0.0/32 because I misunderstood if I left the field blank any IP would be accepted. Now it works.
First you need to register your application.
STEP 1.
Creat a project. It's a large button you cannot miss him !
STEP 2.
Go in your project in the section APIs
Search on YouTube API use the version 3. You need to go down the page an enable YouTube Data API v3
Basically YouTube Data API v3 is now to ON
STEP 3.
Go in the section Credentials and click :
Creat a new key
After that, you will have several options :
Two kinds of API keys are available in the Google Developers Console:
Use a server key if your application is running on a server. Never
share this kind of API key outside your server code. For example,
never embed this key in a web page. To prevent quota theft, restrict
your key so that requests are only allowed from your servers' source
IP addresses. Use a browser key if your application is running on a
client, for example from JavaScript or any other client-side
web-browser context. To prevent your browser key from being used on
unauthorized sites, only allow referrals from domains that you
administer.
So after you have your API Key (wich is public)
Then use it in your code !

Google Oauth Login with omniauth-google-oauth2 failed frequently

I'm using gem omniauth-google-oauth2 to login with google from Rails app.
These days I'm getting this error:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Same settings would work fine for localhost, but failed frequently and sometime work on production. I have no idea of what's going on? Is Google changing there API recently? What API do I need to enable just to login and get user info?
I came across this problem when updating from omniauth-google-oauth2 0.2.2 to 0.2.4. To resolve the issue, go to your Google Developers Console. Click on "APIs" and enable the "Contacts API" and "Google+ API". This GitHub issue describes the problem in more detail.
We're started experiencing the same issue 20 hours ago, but it's appearing on both production and localhost (which use two separate Google accounts). The strange thing is that we are able to log in every 3 or 4 tries, but not every time.
As far as an API change on Google's end, this issue on omniauth-google-oauth2 seems relevant: https://github.com/zquestz/omniauth-google-oauth2/issues/106. However, this deprecation should not be enforced until September, 2014.
Also, editing the omniauth-google-oauth2 gem directly and changing these lines:
class GoogleOauth2 < OmniAuth::Strategies::OAuth2
BASE_SCOPE_URL = "https://www.googleapis.com/auth/"
DEFAULT_SCOPE = "userinfo.email,userinfo.profile"
to this:
class GoogleOauth2 < OmniAuth::Strategies::OAuth2
BASE_SCOPE_URL = "https://www.googleapis.com/auth/"
DEFAULT_SCOPE = "email,profile"
Yielded this error:
Error: invalid_scope
Some requested scopes were invalid. {invalid=[https://www.googleapis.com/auth/profile, https://www.googleapis.com/auth/email]}
Update:
Quoted from an email from Lever (hire.lever.co):
"The issue stemmed from an bug in a release Google made to the authentication system Lever uses to identify users last night. We were among some apps who lost the ability to verify users via their Google OAuth API. We've been in communication with Google, and we've been told that the release was reverted at 11:30AM PDT."
Google OAuth appears to be fixed for us now.
We found that Billing had been enabled for one of our projects, but no Billing information entered. Disabling Billing for this particular project so far seems to have resolved this issue for us.
The error we were getting was:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Update: Of course our fix was applied ~ 11:30 AM PDT, so I am I'm voting this was a Google issue.

Resources