由于http://gdata.youtube.com/feeds/api/videos?author=[channel]&start-index=[index]
上的旧供稿不再可用,因此我不得不切换到官方YouTube API来获取 channel 中存在的所有视频的列表。但是,我遇到了一个问题,该API无法在 channel 上返回正确的视频计数。这也导致无法使用pageToken,因为没有返回任何内容。
预期的结果是总共有159个视频,但是,大约50%的API告诉我,只有16个视频。
我正在使用以下网址:
https://www.googleapis.com/youtube/v3/search?key=*****&channelId=UCsuBLfTDK4Hjn9Q6AYPwGqQ&part=snippet,id&order=date&maxResults=25
由于16低于每个请求的最大结果量,因此我将有一半的时间不需要nextPageToken进行分页并获得每条记录的列表,从而使该API在生产中完全无用。
有什么我可以解决的问题,还是YouTube方面的问题?还是有什么我可以替代的?我需要的只是某个 channel 上每个视频的视频ID。
最佳答案
首先,获取您上载播放列表的ID:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=CHANNEL_ID&key=API_KEY
该ID应该在
'uploads'
下。然后,您可以使用playlistItems
list
方法:GET https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLAYLIST_ID&key=API_KEY
并从
totalResults
获取视频数量。或者,您可以使用playlistItems documentation中的代码
以获得上传视频的列表。
关于youtube - YouTube API返回错误的结果计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31140083/