我正在使用 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/