Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to search content across multiple channel in youtube api?

I want to search youtube videos in a list of channels. In the code below, I am able to pass only one "Channelid" to the youtube api. Is there a way to pass multiple channel Ids ??

def youtube_search(options):
  youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

  # Call the search.list method to retrieve results matching the specified
  # query term.
  search_response = youtube.search().list(
    q=options.q,
    part="id,snippet",
    maxResults=options.max_results,
    channelId=options.channelId
  ).execute() 
like image 592
Mayank Avatar asked Feb 10 '14 02:02

Mayank


2 Answers

As @Ibrahim has pointed out searching with multiple ChannelIDs is not possible. What can be done instead is do a search with no ChannelIDs at all. Each video result that you get will have the ChannelID for each of it. So you can loop through the result for items with your preferred list of channelIDs, and the matching ones can thus be filter.

like image 170
Harish Mohanan Avatar answered Nov 15 '22 14:11

Harish Mohanan


You can not add comma separated channels here. Either you can leave it blank to search all channels, or you can have a request per each channel and merge results. There is no multichannel search API.

like image 25
Ibrahim Ulukaya Avatar answered Nov 15 '22 14:11

Ibrahim Ulukaya