I'm using the YouTube Data API to fetch a list of videos for some of my favourite channels. Functionally, it's all working great but I am hitting the daily quota now that the list of channels I am interested in has grown.
I currently do this (pseudo code):
foreach( channelId in myListOfChannelIds){
YouTubeService.Search.List("snippet")
.ChannelId = channelId
.Type = "video"
.MaxResults = 10
.Order = SearchResource.ListRequest.OrderEnum.Date
searchListResponse = await searchListRequest.ExecuteAsync();
foreach( item in searchListResponse.Items ) {
<process the item>
}
}
This is fine; I get the most recent 10 videos for each of my channels.
What I think I would like to do is:
- For each Channel, establish the date of the last video
- For every channel that has a recent video in the past 'n' days, fetch the most recent 10 videos (as per the code above)
I can't see anything on the API for finding the last published date for a channel and the channel list doesn't appear to have summary metadata exposed.
Does anyone have any pointers in case I have missed something or can suggest a better way to achieve my objective? it seems the channel list is an expensive (in units) operation.
Thanks in advance
(I'm using C#)