我正在开发一个简单的视频应用程序,它将使用 Youtube Api V3 触发Intent从特定频道获取任何新视频更新。
search.setKey(Constant.DEVELOPER_KEY);
search.setChannelId(channelID);
search.setOrder("date");
search.setPublishedAfter(new DateTime(yesterday));
search.setType("video");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/publishedAt)");
search.setMaxResults((long) 50);
SearchListResponse searchResponse = search.execute();
List<SearchResult> searchResultList = searchResponse.getItems();
问题:它返回一个未更新结果的列表。
问题描述:
在监控此行为的几天内,我发现,首先,通过访问Youtube网站,我可以在此频道中找到其他视频。在我的搜索结果中,视频只需要30或60分钟。
嗯,延迟实际上对我来说很好,我不明白的是,有时候,有视频1,视频2和视频3,其中1在2之前上传,2在3之前上传。在上面的例子中,我希望得到的结果(在我指定的URL中按日期desc排序)3-2-1,或2-1,或只有1.但我得到的是奇怪的,3-1 。 2可能会在晚些时候再过半个小时。我的意思是,如果延迟是一个问题,至少它应该以正确的顺序出现在列表中?
预期解决方案:要准确地按日期排序搜索结果,以便每当我尝试重新查询视频时,我只需要在检索到上一个视频后获取已发布的内容。从昨天开始,我的例子中的方式并非如此。
感谢您的时间,我真的希望找到解决方案。
答案 0 :(得分:0)
首先,API的V3目前是实验性的,我不推荐使用它,直到它已经注销而不是。
其次,我从不喜欢客户端库并且更喜欢直接进行API调用,这样您就可以确保以您想要的方式进行调用。因此,举例来说,这是一个简单的调用,可以按照发布顺序从我的频道中检索视频:http://gdata.youtube.com/feeds/api/videos?orderby=published&author=ahmednuaman
我建议现在使用此方法,并查看交互式API演示(http://gdata.youtube.com/demo/index.html)以宣传您的电话并确认测试正在返回您想要的数据。