So even though Google shut down Freebase, when you ping the YouTube API, it still tags the videos using Freebase IDs.
Is there a place I can go to now, to match these IDs to their topics?
The Freebase data dumps are still available or you can use the online Knowledge Graph Search API which accepts the same IDs.
e.g. https://kgsearch.googleapis.com/v1/entities:search?ids=/m/01mpvdt&key=API_KEY&limit=5&indent=True
Related
I'm interested in getting topics as part of the results when searching with:
https://www.googleapis.com/youtube/v3/search?
For instance, when searching Dance Music on the YouTube website, it shows some videos and on the side there's a Electronic Dance Music topic showing up.
How can I get that using the API?
I'll also be fine search for topics in a different API call.
Use the Search: list method which returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource such as the topicId parameter.
The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.
Important: Due to the deprecation of Freebase and the Freebase API, the topicId parameter started working differently as of February 27, 2017. At that time, YouTube started supporting a small set of curated topic IDs, and you can only use that smaller set of IDs as values for this parameter.
You may use the API Explorer to try the sample request.
I wonder if there is any way to get a list of the searches done with the same key using YouTube API. I could not find it on the API documentation.
I have several computers running a searching code, using YouTube API.
The keyword used is picked randomly from a list of terms. All computers use the same key.
Any idea?
Thanks in advance,
Diego
API won't do that, but you can save the searches on your end.
Freebase will be deprecated starting Tuesday, March 31st, what does this mean for topic based searches with the youtube api? Will these queries still work?
https://www.googleapis.com/youtube/v3/search?part=snippet&relevanceLanguage=en&topicId=%2Fm%2F04qf57&type=video&videoSyndicated=true&key={YOUR_API_KEY}
I think this will be unaffected since Google Knowledge Graph API, which is the replacement of Freebase, is able to search by topicId too.
Do not quote me on this one though as there's really no documented change notes on the Youtube Data API
Also, some SO posts that contains discussions regarding the possible impact and alternatives(as of the moment) to the use of Youtube Data API and topicIds can be found here and here
It seems that the YouTube API doesn't give updated results for mostPopular videos in my country since few days.
Example:
This request (https://www.googleapis.com/youtube/v3/videos?part=snippet,contentDetails&chart=mostpopular®ionCode=FR) doesn't give me the same videos results than the ones displayed directly on YouTube for the French most popular channel (https://www.youtube.com/channel/UCmzy72gDEpfXoFV9Xdtd0DQ). It seems that the results of this request is not updated since the 1th of february. Results was real time updated before this.
Does someone know if something is wrong with my API request, or if there are some issues with the YouTube API at this moment?
There is nothing wrong with your request. This is a known issue with the YouTube API reported here for Saudi Arabia (but also applicable to multiple regions), and another related issue here with regard to content from France.
Your best bet would be to follow up with the YouTube team on one of those defects, or potentially (and dangerously) scrape the YouTube site for the correct results.
Problem seems to be solved since 13th of february (maybe someone from Google have seen my post..)
YouTube Channels and chart=mostPopular parameter data are separate data entities, aka you will get different results. They may be related but there is no guarantee you will get the same data. To get the data that you want you may need to query for channel itself and its videos.
I got this information from the thread #Jal linked, there was an update by matthewc...#google.com a few days ago:
The most popular channel for Saudia
Arabia and
the mostPopular chart parameter in the video.list
call
are separate and distinct entities. If you'd like to get the content
of the most popular channel for Saudia
Arabia
please use the Data API video.list call to list the videos with the
channel ID (in this case "UCWY-_j1MCth6yf24m58Bh_Q") by setting the
items/snippet/channelId parameter.
My current concern right now is that there is supposedly a way to get video information from the videos.list endpoint using a channelId, which does not seem the case in the API Explorer. I will update my answer once I figure out what this person meant exactly.
We will provide YouTube EDU contents in our application.
I used the below API for querying the lectures in the category, and it's work well.
- http://gdata.youtube.com/feeds/api/edu/lectures?category=39&v=2
I'd like to search EDU lectures including specific keyword.
First, I used the q=keyword method, but it's not work with HTTP 403.
- http://gdata.youtube.com/feeds/api/edu/lectures?category=39&v=2&q=keyword
Second, I used the query=keyword method, it's work with out error, but the result was same without it.
- http://gdata.youtube.com/feeds/api/edu/lectures?category=39&v=2&query=keyword
Please, let me know how to query the relevant EDU content including specific keyword.
Unfortunately search is not supported with these feeds. The only thing you could try doing is filtering, using the partial response protocol in YouTube Data API V2 (https://developers.google.com/youtube/2.0/developers_guide_protocol_partial). It is rather restrictive as far as operands are concerned so I am not sure it will fit your use case.
Another idea is to look to YouTube Data API V3 and Topics API. It is not a direct replacement for the EDU feeds in v2, but perhaps it will be a good potential source for content in your application.
For educational content, you can fetch the video category using:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videoCategories.list?part=snippet®ionCode=US&_h=4&
then search within a category:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&q=euler's%252Btheorem&type=video&videoCategoryId=27&_h=1&
With the search results you can learn about topic IDs for the videos, for example: VRcX9Fzu1Jo
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?part=snippet%252C+topicDetails&id=VRcX9Fzu1Jo&_h=3&
Once you know the topic IDs, you can search for other relevant content. In this example, the topic ID is /m/0382k:
http://www.freebase.com/m/0382k - "Graph theory"
Other videos on this topic:
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?part=snippet&topicId=%252Fm%252F0382k&type=video&_h=4&
More information about searching by topics: https://developers.google.com/youtube/v3/guides/searching_by_topic