Application out of compliance with the Youtube Developer Policy. Why? - youtube

i have sent request to YouTube to get more Quota, they send me email with screenshot.
Email:
"We have reviewed your quota extension request for project number 49182590595 and have revoked the allocated quota for your API Client as it is out of compliance on the following Youtube API Services - Developer Policy"
where is exactly the problem?

If you check YouTube API Services Terms of Service you will find a link to the YouTube API Services - Developer Policies you will find that number 9 states exactly that
You are violating this and there for google has revoked your access. As a note is is best not to violate google's TOS because once you have done so i have never seen anyone able to get access back.
In the future its a good idea to read and understand the TOS before developing an application.

Related

Integromat / Make: Google verification for Gmail API OAuth client

We are integrating the Gmail API with Integromat and, in order to avoid re-authorizing Integromat’s access every 7 days, we need to submit for Google verification.
Now the problem is that the Google verification wants to verify the ownership of each domain. I’m afraid this includes the integromat.com domain (since integromat.com is the authorized domain). That’s a problem since we don’t own the integromat.com domain and we therefore cannot verify domain ownership. Is there a contingency plan for this?
Besides, Google wants a YouTube video showcasing how the permission is being used, which is quite a silly requirement since our Integromat account is only used by us (obviously).
I wonder whether Make/Integromat has some official recommendation/help for this? I couldn’t find any so far.
Note that we are not using Google Workspaces so we can’t use Google’s "internal usage" option.
You have two issues here. The refresh token expiring, and your desire to submit your application for verification.
These are separate issues that are unrelated.
expiring token
Refresh token expiring after seven days is due to the fact that your application is currently in testing phase not that it has not been verified.
refresh token expiration
A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days.
On the Ouath2 screen set the project to production and your tokens will stop expiring.
verification
Domain name:
If you are using a domain name either for redirect uri or hosting of your privacy policy. You must verify that you own this domain though though google search console. There is no way around this.
If you don't own integromat.com your not going to be able to use that. Host it on your own domain.
Gmail scopes are one of hardest scopes to be able to get an application verified for.
YouTube Video:
You will need to create a YouTube video and host it public so that the security team can verify what your application is doing and how it its intended to work. It is not a silly requirement. It is there to protect your users data.
Remember the third party security assessment for gmail scopes is going to cost you between 15k-75k dollars a year.
internal
As stated in exceptions-to-verification-requirements
Internal Use: The app is used only by people in your Google Workspace or Cloud Identity organization. Note that your app will not be subject to the unverified app screen or the 100-user cap if it's marked as Internal.
Your last line says.
Note that we are not using Google Workspaces so we can’t use Google’s "internal usage" option
You don't need to be verified. So you dont need to worry about the domain, or the youtube video.

After review, we still get "sign in with google temporarily disabled for this app"

We have a mobile app and our users got a
"sign in with google temporarily disabled for this app"
When they tried to login their YouTube account with iOS (There's no problem with Android devices).
We submitted a verification request long time ago, and we got from YouTube an email (May 26th 2020),(May 26th 2020):
"Hi Adam,
Thanks for working with us on the YouTube API Services compliance review. We have completed your review and do not require any further actions from you at this time.
We may reach out again to re-review your API Client for compliance with YouTube API Services Terms and Policies.
We appreciate your time working with us on this and please continue to comply with the YouTube API Services Terms and Policies."
Since then, nothing had changed and our app hasn't been verified yet, and our users can't connect with their youtube accounts.
What can we do? We are just waiting and we don't even know how to contact YouTube and ask about our specific case/project.
Thanks you,
Adam.
sign in with google temporarily disabled for this app
Means that your application has not been verified by google. You need to go through the verification process.
You can use a project for development without verification. However there are some limitations (more information here). Basically, you have now reached the limit of 100 users accessing the application.
If you still havent heard anything from google after they say they have verified your application I think the only thing you can do is to submit it again and double check that you are using a client that was created under the project that you requested verification for there's really nothing else you can do.

YouTube Data API v3 Queries Per Day quota issue

For years we have used the YouTube search API to provide a simple YouTube fallback for smart-tvs with no native YouTube app available. The Queries Per Day for our registered app has been set to "unlimited" trough all this time AFAIK, and we only use the youtube.search-list API.
Suddenly, three weeks back, access to the search function was no longer working. Turns out the quota for daily queries was set to blank(no number, no nothing). When trying to change it we get "enter a number in the range 0 to ."
First of all we linked the app to a billing account to be able to adjust the quota. But it was still not working. Then we contacted YouTube and filled out a big form to increase the quota. We got reply from YouTube that the quota request was granted. But we are still not able to set/change the quota. I've tried replying to to quota mail, but I guess the mail is not monitored.
We see others have had similar issues, and the solution seems to have been to contact YouTube. But we have not found any way to contact them regarding YouTube data API support queries except here on stackoverflow(we do not have a paid support plan). So we're posting here hoping that anyone from YouTube can respond - or to get tips from users that have been in the same situation.
UPDATE:
We have now tried two things:
* Removing and adding back in YouTube data API v3 in the registered app. Did not help
* Activating YouTube data API v3 on another app we have registered - this gave us a daily quota of 10000(but we would definatly prefer not to have to change to another API key)
UPDATE 2:
Info we left out that might be relevant. We recently went trough a process with Google filling out the "YouTube API Services Form"(a google docs form). We went back and forth with the google team, replacing logos, adding ToS links, changing UI etc. until we got a:
"Thanks for your response to the Audit Form. We will conduct our audit based on the information you provided. We will notify you if additional information is needed or when we completed our review. Thank you for your cooperation."
After this we have heard nothing.
Today we can see that the quota is back to 10000... We did send a second request for quota raise and I also sent a mail to the Audit Form team. Not sure which one did the trick - have received no response. And that's probably the most annoying thing about this - the complete lack of feedback.
I experienced the same issue before in one of my projects and I can tell that your access to Youtube data api has been disabled.
TLDR;
I noticed this first because I got the error below when calling Youtube data API.
{ "error": { "errors": [ { "domain": "usageLimits", "reason": "accessNotConfigured", "message": "Access Not Configured. YouTube Data API has not been used in project <my_project_id> before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=<my_project_id> then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "extendedHelp": "https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=<my_project_id>" } ]
So I went to the console and checked if the API is enabled (And it was). Then I checked the quota, which I suspect is the issue because I got a blank value in the queries per day. I could still edit the value, but those values didn't take effect. It eventually transitioned to 0 and after that, I can no longer edit it (This is after some editing and refresh).
When I looked at my email, it shows that they sent me an email with the following subject and content.
Subject: [FYI] YouTube disabled your inactive project’s access to YouTube Data API Service
Dear YouTube API Developer,
According to our records, your project has been inactive for the past 90 consecutive days. In accordance with the YouTube API Services Developer Policies (link), we disabled your project’s access to and use of the YouTube Data API Service.
This will not affect other Google API Services that you may have enabled on this project.
For reference, your inactive project number is my_project_number
If you desire to access and use YouTube Data API Service, or believe you were disabled in error, you may complete and submit this form to get in touch with us.
Thanks,
YouTube API Services team
The form was included in the email, but since you haven't received one, here's what you need to do as stated here.
If 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
The alternative, outright solution is to create a new project where you will get the default 10,000 quota.

Youtube Content ID API has not been used - error 403

I'm trying to get my content-owner-id for upload videos to other channels that I have, as described here.
I'm using the code below to get content-owner-id: (PHP)
$youtubePartner = new Google_Service_YouTubePartner($this->client);
$contentOwnersListResponse = $youtubePartner->contentOwners->listContentOwners(
array('fetchMine' => true));
$contentOwnerId = $contentOwnersListResponse['items'][0]['id'];
And this is the error I got:
A service error occurred: Error calling GET
googleapis.com/youtube/partner/v1/contentOwners?fetchMine=true:
(403) Access Not Configured. Youtube Content ID API has not been used
in project XXXXXXXXXXXXX before or it is disabled. Enable it by
visiting
console.developers.google.com/apis/api/youtubePartner/overview?project=XXXXXXXXXX
then retry. If you enabled this API recently, wait a few minutes for
the action to propagate to our systems and retry.
I tried to go the the link https://console.developers.google.com/apis/api/youtubePartner/overview?project=XXXXXXXXXX but I get "The API doesn't exist or you don't have permission to access it".
Then I searched on google and find out that I need to become a CMS youtube account (I'm also a youtube partner). I also tried to go to cms.youtube.com and log in with my youtube account but I got:
Your Google Account is not linked with YouTube Content Manager. Please
try a different account or contact your Technical Account Manager for
assistance.
Can anyone explain me how to connect to CMS account?
Based from this thread:
You don't see it in the list auf available APIs, unless your account is connected to a CMS and some time has past... It takes 7-14 days unless the Content ID API is available for your account. This is a information i got from the support, but they told me, that it is an automated step.
Your account needs to be connected with a content owner. Be noted that a content owner and a partnered channel are not the same thing.
From this documentation, to request data from a YouTube Content Owner, you need to set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the content owner ID.
Check these related SO questions:
How do I get revenue reports from a YouTube CMS account using an API (for an MCN)?
Using the YouTube Analytics API with a CMS account

Youtube API: nolinkedyoutubeaccount error returned from api after disconnecting it from google plus identity

Rephrasing of the question:
Using the youtube api v 3.0 with oauth, when the user is sent to login, they have more than one option: e.g. the linked youtube account and the google account. The two different logins (access tokens) have different access to the api. I need the ability to just sent the user to log in to their proper youtube account (if they have one). How can my app do this? The user currently will have no idea which option they are supposed to choose, even if the app might be able to tell which they have chosen afterwards.
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=1056190619576.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https:%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube
original phrasing of the question:
OK, this is getting really really confusing. My youtube account uses a gmail, so I think that it is safe to say that it is linked to my google account (if such a thing linkage does exist). A couple of days ago I was on youtube, and the web site roped me into giving my youtube account its own google+ account (as far as I could tell). My gmail/google account does not have google+. Anyway, shortly thereafter I undid the linking of a google+ account to the channel. Ominously, at this point youtube indicated that this was only temporary.
And the net effect of this is: I can't use the youtube api with the youtube account. It says nolinkedyoutubeaccount .
So, the youtube api seems unusuable to me. This confusion is enough to make a person's head spin. But can anyone suggest a solution to get my account working with the api again?
Edit: I have managed to reproduce the error (more or less) with a newly opened youtube account. More here: https://code.google.com/p/gdata-issues/issues/detail?id=4860
These blog posts should help explain what's going on
http://apiblog.youtube.com/2013/06/google-page-identities-and-youtube-api.html
http://youtubecreator.blogspot.com/2013/04/using-google-page-identity-on-youtube.html
Based on what you describe, I think things are working as intended, but you do need to be careful to ensure that you select the correct channel when going through the OAuth 2 flow.

Resources