Youtube Data API v2 : How to get videos of English language only? - youtube-api

I am trying to build a website based on youtube embedded videos.
For this I am using Youtube Data API v2.
With this I am getting videos but the problem is with the "language" used in videos or the description of the video is not "English" for all of the videos fetched.
I want to fetch only videos which have either their description or audio or both in "English language".
With description I mean the title of the video and it's meta description.
Please suggest any possible way to fetch videos with English language only using Youtube Data API v2.
Thank you !

The "lr" parameter is the simplest way that I know of in v2.
In your request, add the parameter lr=en to produce English only results.
For example, I wish to grab a list of published videos with the word "soccer" only in English, I would use the following:
https://gdata.youtube.com/feeds/api/videos?q=hrvatska&lr=en
This would output results only if they have some English in either the title or description/keywords, as opposed to pure Croatian results without this filter. This provides a higher quality result but it isn't perfect especially for English as there are many lingua franca terms in English that allows non-English vids to slip through but it provides a good result.
Source: Youtube API Devloper's Guide
https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#lrsp

Related

YouTube API is not giving accurate video results

Getting video in the results even though it didn't match query parameter(q)
The parameter i passed didn't exists in body,title,tags, But the video is relavant. Is API looks any other metadata of video.
For Example: i have given parameter as "mobile", this video https://www.youtube.com/watch?v=j8UNo3vRIB0 is coming as result, here video title and description not contain mobile as parameter
Latest data not coming consistently in youtube api
Some times latest data not coming in youtube data api.
For Example: i have given rule as "amazon". This video https://www.youtube.com/watch?v=6zygd1iW-f4 is showing in youtube website's latest videos but not coming in youtube api result.
Example query: https://www.googleapis.com/youtube/v3/search?part=snippet&order=date&q=amazon&maxResults=50&type=video&key=xyz
W.r.t. point (1), Youtube is working OK, since the content of that video is related to the keyword mobile (please convince yourself by watching the first couple of minutes of that video).
For what concerns your point (2), I cannot in any way make the Youtube site to produce the video 6zygd1iW-f4 near the top of its search result set for the query term amazon.
All in all, I deem your claims above unsustainable.
Please note that one cannot expect crisp results from Youtube when queried with such general terms as yours is. One should not expect Youtube's searching feature to work similarly to say a full-text search in single computer-stored database. There will always be a degree of fuzziness associated to querying Youtube for broad terms.
You are actually stumbling on a very tricky scenario. Your goal is to get the same results via the API that you also see on YouTube’s website, right?
First, make sure that you configured the search endpoint as identical to your YouTube user account as possible:
order: relevance
relevanceLanguage: Same as the language that you set in the menu of YouTube’s website (Use a ISO 639-1 2-letter Code)
regionCode: Same as the country that you set in the menu of YouTube’s website (Use a ISO 3166-1 2-letter Code)
With these settings you will see that the results will be quite similar. But still not identical. Not because the API is not working or is still not properly configured but rather because YouTube’s search results change all the time. Just do the same exact search on YouTube’s website just 10 seconds apart. You’ll see that you get different search results.

Localization in PlaylistItems YouTube API

I have an application that uses the YouTube API to display a list of playlists and videos from a particular YouTube Channel. The application supports multiple languages so I also used the localizations feature YouTube API offers and it works great with v3/videos and v3/playlists using the hl param, but the only problem I faced was with v3/playlistItems as it doesn't have support for localizations.
Please help me in adding localizations using v3/playlistItems so that all videos under a particular playlist displays localized title and description.
An ugly work around is to send two requests. First fetch the video-ids by using v3/playlistItems, then use v3/videos with the video-ids separated by comma, to get the translation with the available hl param.
There is currently no indicated way of doing this from the PlaylistItems docs. Try filing for a feature request here.

How to get the list of most popular italian youtube channels in JSON format with api?

I would take the list of the most popular Italian youtube channels in this format https://developers.google.com/youtube/v3/docs/channels. I have a API key. I should search for snippet.country attribute? What is the URL to use?
Thanks,
Daniele
You may refer with the Videos: list documentation. Use the mostPopular parameter which returns the most popular videos for the specified content region and video category.
Here are some references:
youtube-most-popular
Youtube javascript most popular videos API

YouTube live streaming captions - more than one language

I'm currently live streaming a tv channel (beta phase yet) using YouTube.
How do I add captions in more than 1 language for a live stream (with POST caption URL)?
Even using just one language captions, how can I change the language? (The only option to the user - on web or app - is "EN" even if the caption is in other language)
When using POST approach do send captions on live streams how/where to set/define duration of each subtitle?
Please don't refer this url link. I know it already.
AFAIK you can do only one language, if any at all. I have tried using the POST method YouTube describes on the page you link to - without success. Only get
Result 299: "Error donwloading [...] Can't parse HTTP POST body."
Tried searching all kinds of support forums, but it seems no one has any advice and YouTube never replies to questions related to live caption. Including here...
According to the docs on contentDetails.closedCaptionsType, you can embed captions in your video stream using the option closedCaptionsEmbedded and provide EIA-608 and/or CEA-708 formatted captions in your video from your encoder.
Sending multiple caption tracks muxed with your video with different languages specified by the "Language" tag on the caption stream should allow the user to switch between different captions in the web player.

Youtube Search Results as Playlist, Need Advise

Hi guys, this is my first time to post on this awesome community so
please bear with me.
I am working with a Wordpress Plugin that can display a Youtube Search Results into Video Playlist.
My settings are:
Keywords
Author
Content- channel/keyword
My first Approach was this:
with this api as reference,
search for the keyword > display the relevant results according to the author as playlist
*I'm in doubt if I this is possible, coding 30%
*I'm not sure where could I use my settings for Content
but then when my coding is in progress I recently bumped an article that says Youtube Search is differrent on Searching a Youtube Playlist
Now I can't continue my coding because I'm not sure If I'm doing it
right. Can you give me some advise with this situation or show me some
similar project/examples?
You don't have to write any YouTube Data API code for this; it's a built-in feature of the YouTube Player.
This blog post has an example of loading a list player that takes its content from the recent uploads of a channel. You can do something similar by setting listType=search&list=SEARCH_TERM, where SEARCH_TERM is whatever string you want to search for (be sure to URL escape it). You can read more in the documentation.

Resources