0

问题

我的应用程序中每个请求的默认评论数超过了默认的 25 条评论。我知道我必须设置max-results参数,但每当我尝试设置它时,应用程序就会崩溃,并GDataRequestException带有 information 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),但它也不起作用。

解决方案

问题是,检索到的提要是评论提要,但我使用了一种视频提要。这是更新的,现在可以使用的代码:

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));
}
4

2 回答 2

1

max-results参数仅适用于查找多个视频的提要(即,如果按关键字搜索视频,或最热门的视频)。它限制了返回视频的数量。检索单个视频时,该参数无效。

于 2013-09-13T16:04:40.587 回答
1

max-results 可以是 50。您检索评论的 url 错误。在 videoId 之后添加“comments”,如:

 http://gdata.youtube.com/feeds/api/videos/kpzWVicfdQk/comments?v=2&max-results=50&start-index=1

如果您期望更多评论,请将 start-index 更改为 Advance。

或者检查 rel="next" 链接的响应,例如:

<link rel='next' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/kpzWVicfdQk/comments?start-index=51&amp;max-results=50&amp;direction=next&amp;v=2'/>
于 2013-09-13T16:53:59.490 回答