【问题标题】:Finding premieres through Youtube API通过 Youtube API 寻找首映
【发布时间】:2020-04-14 04:08:19
【问题描述】:

首映式是直播和传统 YouTube 视频的混合体。详细说明:https://wersm.com/youtube-makes-premieres-available-to-everyone/

有没有办法通过 Youtube API 查找频道的首映?有没有播放列表,类似于自动生成的直播播放列表 (https://www.youtube.com/channel/UC4R8DWoMoI7CAwX8_LjQHig),只有首映?

YouTube 搜索:列表端点 (https://developers.google.com/youtube/v3/docs/search/list) 不包含此类视频的事件类型过滤器。仅包括“即将到来的”和“实时”事件过滤器,但它们不适用于首映。仅使用实时内容。

提前致谢。

最好的问候。

【问题讨论】:

标签: youtube-api youtube-data-api


【解决方案1】:

我发现的唯一方法是:

  1. 使用带有频道 ID 过滤器的搜索端点来构建频道中将 liveBroadcastContent 设置为 upcoming 的所有视频的列表。这将为您提供所有首映视频以及直播视频的列表。

  2. 将搜索端点与频道 ID 过滤器和eventType 过滤器一起用于upcoming。这将为您提供所有直播的列表。

  3. 取两组id的差。

我刚刚测试过,它适用于我的频道,但我承认它在配额消耗方面相当昂贵。这不是一个很好的答案,但它是唯一的答案。 :)

或者,如果可以对您的内容上传者施加一些限制,那么我建议您要求他们 1) 在视频说明中添加井号标签或 2) 将视频添加到特殊的、公开的但未列出的播放列表。这样,您的应用程序既可以搜索该哈希标签,也可以从该播放列表中读取,后者在配额消耗方面要便宜得多。

更新

另一种方法:

  1. 使用带有频道 ID 过滤器的搜索端点来构建频道中将 liveBroadcastContent 设置为 upcoming 的所有视频的列表。这将为您提供所有首映视频以及直播视频的列表。

  2. 将视频端点与您从上面收集的 id 列表一起使用,并确保将contentDetails 作为part 参数的一部分。您可以在此处查看视频的持续时间。它会像这样

     "contentDetails": {
        "duration": "P0D",
        "dimension": "2d",
        "definition": "sd",
        "caption": "false",
        "licensedContent": false,
        "contentRating": {},
        "projection": "rectangular"
      },

这个视频绝对是即将到来的直播,因为它的持续时间为零P0D。即将到来的首映已经有一个固定的非零持续时间。

  1. 保留所有持续时间不为零的视频。

这也可以。

【讨论】:

  • 我还看到,@Alistair,premieresstatus.uploadStatus 设置为 processed,而不是即将到来的 直播 设置该属性到uploaded
猜你喜欢
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 2013-03-28
  • 2013-05-18
  • 2012-03-19
  • 1970-01-01
  • 2014-10-05
相关资源
最近更新 更多