如何查找视频是否在 YouTube 数据上联合 api v3

How to find if video is syndicated on YouTube data api v3

我有一个可以让用户嵌入 YouTube 视频的网站。在让用户这样做之前,我们的 CMS 会检查视频是否可嵌入 and/or 国家/地区限制并发送警告。

通过调用以下方式完成检查:

https://www.googleapis.com/youtube/v3/videos?id=[video_id]&key=[google_key]&part=snippet,contentDetails,statistics,status

现在我们正在开发一个应用程序,我们发现并非所有可嵌入的视频都被允许,但似乎有另一个选项称为 syndicate 以获得在网页外显示视频的权限。

知道id后如何检查视频是否有联合标志?

您可以在 youtube 搜索期间添加一个标志,以仅在 Youtube v3 data api search videoEmbeddablevideoSyndicated.

上显示可嵌入或联合视频

Videos overview 有一个我在网站上使用的 embeddable 标志,我找不到任何对辛迪加标志的引用。除了带有 "allowed" 值的辛迪加标志外,我也找不到任何其他参考资料,该标志似乎存在于 v2 中,但在 v3 中不再有参考资料。

有可嵌入和联合两个概念。 iOS 设备使用 iFrame,因此它们基本上是嵌入的。 Android 使用播放器 API 的设备可以检查联合。

当您执行 search->list, you can set videoEmbeddable and videoSyndicated 为真时。

或者,如果您要遍历视频,对于每个视频,您可以在响应中执行 video->list call with video id and check status.embeddable

这里有一个关于这个主题的blog post,即使示例在 v2 中,信息仍然是相关的。

更新

根据 Kesty 的评论 如果您需要检查辛迪加标志。您需要向 /v3/search?q=[video_id] 发出请求以及标志,然后再调用一次以检查视频详细信息。它之所以有效,是因为您可以使用视频 ID 作为 q,

进行搜索

v3 也有一个 syndicate 标志,因此声明视频的类型键并在过滤器类型中搜索,如文档中的过滤器参数所示,应该存档您正在寻找的内容,如这些 google 文档所示: https://developers.google.com/youtube/v3/docs/search/list

使用 v3 API for YouTube,以下查询将通过 search/list 获取联合状态:

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=25&q=stuff&type=video&videoSyndicated=true&key={YOUR_API_KEY}

一个要求是videoSyndication参数的使用需要将type参数设置为video

结果将包含符合您的 videoSyndication 设置(anytrue)的视频。