我正在使用youtube的.NET API来检索视频源,这是代码:
String[] ids;
YouTubeRequestSettings settings = new YouTubeRequestSettings("My App Name", "My App Key");
YouTubeRequest request = new YouTubeRequest(settings);
Uri uri =
new Uri("http://gdata.youtube.com/feeds/api/users/nptelhrd/uploads?max-results=50");//Change "GoogleDevelopers" to "default"
Google.GData.Client.Feed<Video> videoFeed = request.Get<Video>(uri);
ids = new String[videoFeed.TotalResults];
int count = 0;
for (int i = 0; i < 50; i++)
ids[i] = videoFeed.Entries.ElementAt(i).VideoId;
for (int i = 50; i < ids.Length-50; i+=50)
{
Uri uri2 =
new Uri("http://gdata.youtube.com/feeds/api/users/nptelhrd/uploads?max-results=50&start-index=" + i.ToString());//Change "GoogleDevelopers" to "default"
Google.GData.Client.Feed<Video> videoFeed2 = request.Get<Video>(uri);
for (int j = 0; j < 50; j++)
{
ids[i+j] = videoFeed2.Entries.ElementAt(j).VideoId;
count++;
}
}
上面的代码返回所有信息(标题,描述,查看计数,评级...)。等)对于用户"NPTELHRD"上传的每个视频。此特定用户上传了 6950 个视频。
上面的代码在 15Kbps 连接上执行需要 512 分钟,因为它检索每个视频的所有信息,其缓慢令人痛苦,浪费了大量服务器资源。上面的代码不能修改为只检索videoId吗?如何仅检索所有视频的视频ID?
由于目前.NET YOUTUBE API的限制,无法仅检索VIDEOID。