【问题标题】:Youtube API not returning updated resultsYoutube API 未返回更新的结果
【发布时间】:2013-04-23 20:56:59
【问题描述】:

我正在开发一个简单的视频应用程序,该应用程序将使用 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();

问题:它返回给我一个未更新结果的列表。

网址中的示例:https://www.googleapis.com/youtube/v3/search?part=snippet&order=date&type=video&channelId=UC52X5wxOL_s5yw0dQk7NtgA&key=your_api_key&maxResults=50

问题描述:

  1. 在监视此行为的几天中,我发现,首先,通过访问 Youtube 网站本身,我总是可以在此频道中找到一些其他视频。视频只需要再过 30 或 60 分钟就会出现在我的搜索结果中。

  2. 嗯,延迟其实对我来说很好,我不明白的是,有时,说有视频1,视频2和视频3,其中1在2之前上传,2在3之前上传.所以在上述情况下,我希望(在我指定按日期顺序排序的 URL 中)3-2-1,或 2-1,或只有 1。但奇怪的是,我得到的是 3-1 . 2 将在可能再过半小时后到达。我的意思是,如果延迟是一个问题,至少它应该以正确的顺序出现在列表中?

预期的解决方案:要获得按日期准确排序的搜索结果,以便每当我尝试重新查询视频时,我只需要获取在检索到最后一个视频后发布的内容。不像我的例子那样从昨天开始得到所有东西。

感谢您抽出宝贵时间,我真的在寻找解决方案。

【问题讨论】:

  • 对于需要截图了解所发生情况的任何人,请参阅关于 Ahmed 答案的评论部分。

标签: android youtube youtube-api youtube-channels


【解决方案1】:

首先,API 的 V3 目前是实验性的,我不建议在它被签署之前使用它。

其次,我从不喜欢客户端库,而是更喜欢直接进行 API 调用,这样您就可以确保以您想要的方式进行调用。因此,例如,这是一个简单的调用,可以按照发布顺序从我的频道中检索视频:http://gdata.youtube.com/feeds/api/videos?orderby=published&author=ahmednuaman

我建议现在使用此方法,并查看交互式 API 演示 (http://gdata.youtube.com/demo/index.html) 来准备您的调用并确认测试正在返回您想要的数据。

【讨论】:

  • 感谢您的回复,但在第一次尝试此 API 时,我仍然得到不正确的结果。这是我从 YouTube i.imgur.com/KAfxP3l.png 看到的,这是我从 API i.imgur.com/dHG5gEP.png 看到的。如您所见,我的第一个结果实际上是指向频道上的第二个视频。这是我做的 API 调用gdata.youtube.com/feeds/api/…
  • 啊,这可能是视频分发受到限制的情况:apiblog.youtube.com/2011/12/…
  • 不是真的,你可以看到我监控的内容,我还提到如果你没有注意到我使用了直接 API 调用。这些视频最终将被包含在结果列表中,就在稍后。您的示例 API 调用也是如此,之前排除的视频现在包含在其中
猜你喜欢
  • 1970-01-01
  • 2019-05-12
  • 2018-11-17
  • 2018-11-03
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
相关资源
最近更新 更多