api - 特定 channel 中视频的 YouTube 搜索 API 通常没有结果

标签 api youtube youtube-api

我正在使用 YouTube search.list用于查找特定 channel 上所有视频的 API:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&channelId=my-channel-id&key=my-public-key

(由于隐私,我不能提供细节,我害怕。)

因此,这适用于常见的 YouTube channel ,但有时仅适用于某些个人 channel ,通常不会返回任何结果。

个人的情况是:您调用的第一个电话会返回视频,但如果您刷新浏览器,它会返回没有结果(但也没有错误)。

我找到了these two关于不一致的搜索结果的实时问题,但我的问题似乎有点不同(没有查询,只是一个特定的 channel ID)。

知道发生了什么吗? 我找不到一致返回结果的 channel 和不返回结果的 channel 之间的差异。这几乎就像谷歌正在限制某些搜索结果。如果我被授权而不是使用公钥,也会发生同样的事情。

获取 channel 中所有视频的替代方法(理想情况下在一次通话中)也是可以接受的。

最佳答案

因此,要回答我自己的问题,您可以使用 activities.list API 来获取 channel 中的所有视频,这似乎比搜索更可靠:

https://www.googleapis.com/youtube/v3/activities?part=snippet%2CcontentDetails&channelId=my-channel-id&key=my-public-key

您需要包含“contentDetails”部分,因为它包含视频 ID。

更新

另一种方法是使用“上传”播放列表(参见 this SO answer )。这比事件要好,因为事件包括视频上传以外的内容,并且 API 不提供过滤方式。

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=my-uploads-playlist-id&key=my-public-key

关于api - 特定 channel 中视频的 YouTube 搜索 API 通常没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28192051/

相关文章:

python - Flask Python REST API 在接收 POST 时设置可选 JSON 参数

linux - 在 linux 服务器上部署 Node api 以进行生产的最佳方法

javascript - 如何从 youtube 获取第一帧作为照片?

youtube - 匿名获取YouTube播放列表视频

youtube - 如何使用 FlowPlayer 播放 YouTube 视频

c# - yt:在YouTube供稿中找不到统计信息

javascript - 如何使用 GET 发送正文请求

javascript - 在 Vuex 商店中实现常见任务的最佳方式是什么

oauth - 使用openid4java的YouTube OpenID + OAuth

jquery - 无法通过api调用暂停访问youtube嵌入式iframe