We want to retrieve video data including promotions.
Is there a way to get it with the YouTube Data API or the YouTube Analytics API?
Is there any other way?
A video that includes a promotion is a video that displays something like the image below.
Click to move to the following page.
https://support.google.com/youtube/answer/154235
Since you are only interested in knowing whether or not a video (based on its id) includes paid promotion, as far as I know there isn't any official YouTube Data API v3 endpoint answering your question.
However you can check if the video includes paid promotion by checking whether or not the YouTube webpage contains paidContentOverlayRenderer. You can proceed this way for instance:
curl -s https://www.youtube.com/watch?v=VIDEO_ID | grep "paidContentOverlayRenderer"
If something is returned it means that the video includes paid promotion otherwise it doesn't.
Related
I'm trying to use the YouTube Data API to get a channel's Trailer and Featured Video but can't find anything in the [API docs][1] or responses that might provide it. Ideally, there'd be something that would return the ID of whichever videos had been selected here: https://studio.youtube.com/channel/[CHANNEL_ID]/editing/sections
Maybe it's buried in an obscure endpoint. Maybe the API simply doesn't include this anywhere. Can anyone please point me in the right direction?
Update: I've found the channel trailer as unsubscribedTrailer under the channels:list endpoint with the brandingSettings part. However, for some reason Google has decided not to include the featured video with it.
One more time YouTube Data API v3 doesn't provide a basic feature.
As Video spotlight you can have:
Featured video for returning subscribers
Highlight a video for your subscribers to watch. This video won’t be shown again at the top of your page for subscribers who have watched it. Learn more
Source: https://studio.youtube.com/channel/CHANNEL_ID/editing/sections
For the featured video:
you first need to subscribe to the give YouTube channel. To do so in an automatic way, use YouTube Data API v3 Subscriptions: insert endpoint.
then open your web-browser Network developer tool tab (Ctrl + Shift + E on FireFox) and filter HTML requests, then visit https://www.youtube.com/channel/CHANNEL_ID and copy the initial request to CHANNEL_ID as cURL, that way you can re-execute this cURL request for any channel you are subscribed to by changing the URL in the cURL request to https://www.youtube.com/channel/ANOTHER_CHANNEL_ID. Furthermore you'll find the featured video id in the JavaScript variable ytInitialData in the JSON entry
contents/twoColumnBrowseResultsRenderer/tabs/0/tabRenderer/content/sectionListRenderer/contents/0/itemSectionRenderer/contents/0/channelFeaturedContentRenderer/items/0/videoRenderer/videoId.
The channel with id UCv_LqFI-0vMVYgNR3TeB3zQ have both a channel trailer (1RHxvM8mQS4) and a featured video (rFuip5CSWcA).
I'm using youtube v3 API to publish videos on my channel. I want to moderate all comments made on my videos so I've selected the following in my channel setting. Note that I've chosen for all comments to be held for review by default.
Now I proceed to publish a video via API. But, it was observed that my video settings were set to Allow all comments instead of Hold all comments for review as is evident from the below image.
I've gone through the video insert API and did not find any parameter that would configure comment settings for each video. I'm failing to understand why the channel default setting is not selected for videos published via API. Is there any way through which I can change the video comment setting via API?
There is no way to specify comment options via the Data v3 API. This has been a long standing feature request. See the IssueTracker thread.
I use Yt gem to work with Youtube API and upload video using Yt::Account class.
The problem is that I need to allow user to choose channel to upload to – for example, one user has a second channel related to Google Plus page and this user should be able to upload video to that Youtube channel, not user's default one.
It seems like Yt misses the ability to specify channel (or I missed something).
I found also examples from Google https://developers.google.com/youtube/v3/code_samples/ruby but all it says is "upload a video to the channel associated with the request" – and nothing about how to associate different channel.
Any help is appreciated
So I have a video product that I am about to start selling. Once people pay, they will be able to download the videos, or ideally stream it via YouTube.
But...I don't want them to be able to share the link with every Tom, Dick and Harry.
I know that an unlisted video can still be made public, so that won't work for me. But apparently there can be 'private videos' too.
Where can I learn more about this in the API docs? Or what is the best way to approach this? Especially given that I don't want them to have to have a Google+ account.
Ideally, they should be able to login to my app, and watch the embedded videos there. But they should not be able to share the direct YouTube link.
I know they can always share their account info, that's fine...I will do other things to keep track of and monitor that. It's really the anonymous sharing of the YouTube link I am worried about.
Thanks.
Read the API terms of service and check with your legal folks. Specifically, you will want to make sure that your sale of private content uploaded to YouTube is in compliance with #2 in the Terms of Service:
You agree not to use the YouTube API for any of the following
commercial uses unless You obtain YouTube's prior written approval:
the sale of the YouTube API, API Data, YouTube audiovisual content or
related services, or access to any of the foregoing;
Is there an API for the Google Play online video playback of content? Would the YouTube API work?
I am wanting to embed Google Play content into a website I am building.
Thank you,
Joseph Irvine
Google Play movie purchases and rentals do also show up as YouTube videos (with a unique YouTube video ID), and so it is possible; obviously, you'd need to use oAuth2 authentication so when a user logs in, YouTube can verify that the user has the permission to see that film/TV show.
The real trick, however, is getting the right YouTube ID. They show up through search results via the search endpoint (so, for example, https://www.googleapis.com/youtube/v3/search?part=snippet&q=Monsters+University&key={YOUR_API_KEY} would be such a search), but that endpoint only gives you access to the "snippet" content type, which doesn't include the parameter "licensedContent" to let you know if it's a for-pay video (that parameter is found in the "contentDetails" type, which is only available from a video list call).