我如何从 youtube api data v3 获取 youtube shorts

how do i get youtube shorts from youtube api data v3

我想要一种从 YouTube API 获取特定频道的 YouTube 短片的方法。我找遍了所有地方,但找不到任何东西。

目前我可以使用此端点获取所有频道视频的播放列表 ID:

request = youtube.channels().list(
    part="contentDetails",
    id=id
)

我也尝试了这些参数:

request = youtube.channels().list(
    part="snippet,contentDetails,statistics,brandingSettings",
    id=id
)

那么有没有办法从 YouTube API 或任何其他可用来源的特定频道获取 YouTube 短片。

YouTube 数据 API v3 似乎又一次没有提供基本功能。

我建议您使用我的 open-source YouTube operational API. Indeed by requesting the JSON document https://yt.lemnoslife.com/videos?part=short&id=VIDEO_ID 包含 item["short"]["available"] 布尔值,您的问题已解决。

无需使用 API 即可检测 YouTube 视频 ID 是否为 Short 的一种方法是尝试向 URL 的 /shorts/ 版本发送 HEAD HTTP 请求并查看如果它重定向你。

https://www.youtube.com/shorts/hKwrn5-7FjQ 是短片,如果您访问 URL,您将获得 HTTP 状态代码 200,并且 URL 不会改变。

https://www.youtube.com/watch?v=B-s71n0dHUk is not a Short, and if you visit https://www.youtube.com/shorts/B-s71n0dHUk,你得到一个 303 重定向回到原来的 URL。

请记住,此行为可能会发生变化,但从 2022 年 5 月起有效。