I've just made an "app" that uploads videos in a given folder, the program works, however whenever I upload a video through my program, it makes the video private (locked). I then get a mail saying that my program has not yet been approved. I have tried setting status.privacyStatus to both unlisted and public, without succes.
Any idea on how to get my application approved so I can upload public videos?
I suspect it might have to do with Oauth, however I am not sure where I went wrong
According to Google support's article Videos locked as private, the issue that you've described happens by design:
For videos that have been locked as private due to upload via an unverified API service, you will not be able to appeal. You’ll need to re-upload the video via a verified API service or via the YouTube app/site. The unverified API service can also apply for an API audit.
To ensure your video isn’t locked private again, don’t post content that:
[...]
Has been uploaded by an unverified third party API service.
As unfortunate as it is, until your app gets approved by Google, if needing to make video content publicly available, you have no other option than to upload that content manually by means of YouTube's Web UI (or use a tool that accesses that UI programmatically; but, as far as I know, this kind of activity is forbidden by the TOS docs).
The official document of the Videos.insert API endpoint specifies the very same requirement as above:
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each API project must undergo an audit to verify compliance with the Terms of Service. Please see the API Revision History for more details.
The entry of API Revision History related to this issue reads as follows:
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each project must undergo an audit to verify compliance with the Terms of Service.
Creators who use an unverified API client to upload video will receive an email explaining that their video is locked as private, and that they can avoid the restriction by using an official or audited client.
API projects created prior to 28 July 2020 are not currently affected by this change. However, we strongly recommend that all developers complete a compliance audit for their projects to ensure continued access to the YouTube API Services.
If your app is inteded for private usage, they won't approve it.
The only solution is not to use their API, but luckily there are some good modules to upload without API.
Here's one I made (node.js): https://www.npmjs.com/package/node-apiless-youtube-upload
import YoutubeUploader from 'node-apiless-youtube-upload'
const youtubeUploader = new YoutubeUploader()
youtubeUploader.promptLoginAndGetCookies().then(() => {
youtubeUploader.uploadVideo({
videoPath: 'C:/PATH/TO/VIDEO.mp4',
title: 'TITLE',
description: 'DESCRIPTION',
thumbnailPath: 'C:/PATH/TO/THUMBNAIL.mp4',
visibility: 'public'
})
})
Also there's one for python if you search for it (it's selenium based).
Good luck!
Related
I have developed an app for a company that generates personalized videos and needs to publish them to Youtube. Everything works fine except I can't publish videos to youtube do to the following rules loop:
If your app is not validated (by google for authentication) it can't upload videos to youtube.
If you app is not public it can't be validated.
How can I exit the loop and publish the videos?
Note: the app needs to publish the videos to an account that is a #gmail account.
Thanks
You may have miss understood something if you check the documentation for Video.insert at the top you will see the following
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each API project must undergo an audit to verify compliance with the Terms of Service. Please see the API Revision History for more details.
So you can upload videos to YouTube without your app being verified. They will just be uploaded as private.
After consulting with my contact at google. They cleared something up for us.
There is apparently a difference between OAuth verification and the YouTube compliance audit. I assumed they were the same thing.
OAuth verification (requested through Google Cloud Console) This verifies your Oauth2 consent screen.
Compliance Audit (requested through YouTube API form) this will give you the ability to post public videos.
So the team is correct you don't need to Oauth2 verify your app as it is used for internal project. You do however need to go though the YouTube compliance audit which you need to do even if its an internal app.
I am using the OAuth Functionality in a local Console Program to request the Videos for my Youtube Channel and upload Videos to Youtube.
For the Example which Google gives OAuth is used to authenticate to be able to retrieve the wanted data. But the Videos I am uploading keep getting put to private because my API Service is not verified.
Now I want to verify my API Service but I dont have a website for it so I can't provide any links for data security information or the main page of it. I mean it is a desktop app which only I am using and which is not meant to be publicly available.
How can I fulfill the verification process without any option to provide this informations?
private videos
If you check the top of the page for Videos: insert you will find that your videos are being uploaded private because your app has not been though a security audit.
app verification
In order to apply for app verification there are a number of urls that you need to supply
You will need to register a domain and claim it in web masters and then you will be able to add them.
If you want to be able to upload public videos via the YouTube Data api your app needs to be verified. In order to verify it you need to be able to show the TOS, privacy policy and the application home page. There is no way around this even if its a desktop app. Even if its single user you still need to do this.
I have a video which shows you what you need to know to verify your app.
What you need to know about Google verification in 2021.
I'm using YouTube Data API to upload videos to my YouTube account.
But when uploading is done, the status were become private.
I know my API has to verified by Google developers console.
After I tried, I realize my free version of WordPress website can't use:
Filezilla to connect WordPress website, cause free version doesn't support ftp;
plugins.
I hope you can tell what should I do without any website that I can verified by Google developers console.
If you check the documentation videos.insert
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each API project must undergo an audit to verify compliance with the Terms of Service. Please see the API Revision History for more details.
All this means is that you need to go to Google Cloud console for your project under the consent screen change the project to production and click the prepare for varication button
This has nothing to do with WordPress. This has to do with your project on google developer console.
I've just made an "app" that uploads videos in a given folder, the program works, however whenever I upload a video through my program, it makes the video private (locked). I then get a mail saying that my program has not yet been approved. I have tried setting status.privacyStatus to both unlisted and public, without succes.
Any idea on how to get my application approved so I can upload public videos?
I suspect it might have to do with Oauth, however I am not sure where I went wrong
According to Google support's article Videos locked as private, the issue that you've described happens by design:
For videos that have been locked as private due to upload via an unverified API service, you will not be able to appeal. You’ll need to re-upload the video via a verified API service or via the YouTube app/site. The unverified API service can also apply for an API audit.
To ensure your video isn’t locked private again, don’t post content that:
[...]
Has been uploaded by an unverified third party API service.
As unfortunate as it is, until your app gets approved by Google, if needing to make video content publicly available, you have no other option than to upload that content manually by means of YouTube's Web UI (or use a tool that accesses that UI programmatically; but, as far as I know, this kind of activity is forbidden by the TOS docs).
The official document of the Videos.insert API endpoint specifies the very same requirement as above:
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each API project must undergo an audit to verify compliance with the Terms of Service. Please see the API Revision History for more details.
The entry of API Revision History related to this issue reads as follows:
All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each project must undergo an audit to verify compliance with the Terms of Service.
Creators who use an unverified API client to upload video will receive an email explaining that their video is locked as private, and that they can avoid the restriction by using an official or audited client.
API projects created prior to 28 July 2020 are not currently affected by this change. However, we strongly recommend that all developers complete a compliance audit for their projects to ensure continued access to the YouTube API Services.
If your app is inteded for private usage, they won't approve it.
The only solution is not to use their API, but luckily there are some good modules to upload without API.
Here's one I made (node.js): https://www.npmjs.com/package/node-apiless-youtube-upload
import YoutubeUploader from 'node-apiless-youtube-upload'
const youtubeUploader = new YoutubeUploader()
youtubeUploader.promptLoginAndGetCookies().then(() => {
youtubeUploader.uploadVideo({
videoPath: 'C:/PATH/TO/VIDEO.mp4',
title: 'TITLE',
description: 'DESCRIPTION',
thumbnailPath: 'C:/PATH/TO/THUMBNAIL.mp4',
visibility: 'public'
})
})
Also there's one for python if you search for it (it's selenium based).
Good luck!
I have a complete source code of a project using you tube data API v3, when i try to publish my app its continuously rejected due to copyright issue. (i m using someone else channel link),
here is what it says :-
I reviewed your app, and had to reject it because it violates our device and network abuse policy. If you submitted an update, the previous version of your app is still live on Google Play.
Here’s how you can submit your app for another review:
Your app shouldn’t access or use a service or API in a manner that violates its terms of service. For example, make sure your app doesn’t download, monetize, or access YouTube videos in a way that violates the YouTube Terms of Service.
Read through the Device and Network Abuse policy for more details and examples.
now i want to change my code from You tube data API to daily motion API, and i need your help.
Or if someone has any solution how can i get my app approved using someone Else's channel. ?