【问题标题】:Youtube API returning unlisted videosYoutube API 返回未列出的视频
【发布时间】:2013-10-19 17:52:14
【问题描述】:

在我的应用中,我使用 YouTube API。我得到一个频道资源的“上传”相关播放列表,然后列出所有视频。

这在一段时间内运行良好,但现在,此播放列表正在返回“未列出”的视频,如下所示:

"status": {
  "privacyStatus": "unlisted"
}

有没有办法过滤这些视频?我以为它们是“隐藏的”,但它们确实出现了......

编辑:它甚至返回私人视频:

"status": {
  "privacyStatus": "private"
}

【问题讨论】:

  • 它们对你没有隐藏——你是频道所有者吗?
  • 不,我不是所有者。
  • 谁授权你的应用控制他的频道,你的应用就像他们一样,充当所有者。这就是授权的工作原理。
  • 最近几天发生了一些变化。 即使您不是频道的所有者,播放列表项查询也会返回私有和未列出的播放列表项。后续视频列表查询将返回未列出的视频,就像它们是公开的,但不返回私人视频。它搞砸了播放列表项的totalResults 计数。您不知道计数中包含了多少公共/私人/未列出的播放列表项目。我尝试使用fields 查询参数和items[status/privacyStatus='public'],items(id,contentDetails,status) 的变化,但无济于事。
  • 几个小时前,API 已更改回我之前的行为。我再次只获得了公共视频和播放列表项查询返回的准确公共视频计数。

标签: android youtube-api playlist


【解决方案1】:

由于您是该频道的所有者,它会返回所有可用的视频。如果您想查看其他人的上传内容,则只会显示公开内容。

看看my open source project: Android Direct Lite,看看我是如何只显示公开的。

【讨论】:

  • 查看我对这个问题的评论。对于您拥有的频道,我们将退回私人和未列出的播放列表项目。
  • (1) 上周看到未列出的视频是不正常的或预期的(使用 API v3),所以它提出了一个问题,这种方式会持续多久?是故意的,还是偶然的,会再次改变? (2) 如果您批量查询以尽可能减少工作量,您一次只请求单个页面的播放列表项(使用pageToken),然后只请求这些项的视频。您的方法不是最理想的,因为它要求您预先下载所有播放列表项目以过滤并获得适当的计数。最好只允许对播放列表项查询进行过滤。
  • 这应该已经修复了。谢谢。
  • @IbrahimUlukaya 该链接不再有效。如果可能的话,你能更新一下吗?谢谢
猜你喜欢
  • 2015-08-22
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
  • 2019-10-02
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多