【发布时间】:2013-09-13 15:45:19
【问题描述】:
问题
在我的应用程序中,每个请求的默认值 25 cmets 都超过了我的问题。我知道我必须设置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),但它也不起作用。
解决方案
问题是,检索到的提要是评论提要,但我使用了一种视频提要。这是更新的,现在可以使用的代码:
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));
}
【问题讨论】:
-
“没有 ?max-results=50 它可以完美运行。”:在这种情况下,响应不是“评论源”(这是您想要的),而是单个“视频条目”。
-
啊,我认得那种字符串。如果它应该是名为 GComments 的参数的值,那么我认为它将被忽略。
-
GComments 是在 API 控制台中设置的应用程序的名称,此字符串是开发密钥。密钥不再有效,我只是忘了删除它。
标签: c# youtube-api google-api