我的问题是在我的应用程序中每个请求获得的默认值为25条评论。我知道我必须设置max-results
参数,但每当我尝试设置它时,应用程序都会遇到GDataRequestException
信息Execution of request failed
。但网址看起来还不错:
http://gdata.youtube.com/feeds/api/videos/kpzWVicfdQk?max-results=50
使用过的代码:
string url = String.Format("http://gdata.youtube.com/feeds/api/videos/{0}?max-results=50", "kpzWVicfdQk");
YouTubeRequest request = new YouTubeRequest(new YouTubeRequestSettings("GComments","***"));
Video v = request.Retrieve<Video>(new Uri(url));
Feed<Comment> comments = request.GetComments(v);
没有?max-results=50
它完美无缺。我也尝试将其设置为new Uri(url)
,但它也不起作用。
问题是,检索到的Feed是评论Feed,但我使用了一种视频Feed。这是更新的,现在正在运行的代码:
void getComments()
{
string url = String.Format("http://gdata.youtube.com/feeds/api/videos/{0}/comments?max-results={1}&start-index={2}", "kpzWVicfdQk", 50, 1);
YouTubeRequest request = new YouTubeRequest(new YouTubeRequestSettings("GComments","AIzaSyB5d2gsN2G9xYftU3zFPKDg7kyBlrHni7A"));
Feed<Comment> comments = request.Get<Comment>(new Uri(url));
}
答案 0 :(得分:1)
max-results
参数仅适用于查找多个视频的供稿(即,如果按关键字搜索视频,或最常用)。它限制了返回的视频数量。检索单个视频时该参数无效。
答案 1 :(得分:1)
最大结果可以是50。 您有错误的网址来检索评论。在videoId之后添加“comments”,如:
http://gdata.youtube.com/feeds/api/videos/kpzWVicfdQk/comments?v=2&max-results=50&start-index=1
如果您希望获得更多评论,请将start-index更改为提前。
或者检查rel =“next”链接的响应,例如:
<link rel='next' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/kpzWVicfdQk/comments?start-index=51&max-results=50&direction=next&v=2'/>