我尝试使用此网址搜索v3 api: https://www.googleapis.com/youtube/v3/search?part=id,snippet&channelId=UCtVd0c0tGXuTSbU5d8cSBUg&maxResults=10&order=date&q=game&key=[API_KEY]
但这只返回一个播放列表。
当我直接在youtube网站上搜索时,它会向我返回更多结果: https://www.youtube.com/user/YouTubeDev/search?query=game
为什么会发生这种情况,我做错了什么?
答案 0 :(得分:0)
在第一个中,您使用的是search-> list方法。哪个是搜索频道?
在第二个中,您正在频道内进行播放列表搜索。 您可以通过playlists->list在API上执行相同操作。
(或者,如果您希望频道内的视频笔直,请使用videos->list)
答案 1 :(得分:0)
可能是一个错误。如果是,但尚未提交,您可以在此处提交:https://code.google.com/p/gdata-issues/issues/list?q=label%3aAPI-YouTube
问题似乎是由参数order = date引起的。 将订单添加到“YouTube查询”(使用频道):https://www.youtube.com/channel/UCtVd0c0tGXuTSbU5d8cSBUg/search?query=game&order=date,并没有什么不同。但是,从“api请求”中省略顺序会得到相同的结果(6项):https://www.googleapis.com/youtube/v3/search?part=id,snippet&channelId=UCtVd0c0tGXuTSbU5d8cSBUg&maxResults=10&q=game&key=YOUR-API-KEY-HERE 注意,在api请求中使用order = date只显示1个项目,而相同的响应显示totalResults“:6(这似乎是正确的)。我没有尝试所有,但是使用order = relevant不会给出这个问题
答案 2 :(得分:0)
当我们尝试搜索大量内容时,我们遇到了类似的问题。如果您将使用publishedAfter和publishedBefore设置的时间范围设置为很小的范围(例如1小时),这一点尤其明显。即使我们得到很小的结果集(尝试时,您只能使用pageToken在API上进行20次左右分页,所以当我们的totalResults小于1,000时),实际上我们发现只有540个项目
我们与YouTube进行了联系,我们的联系人证实了totalResults只是估算值,实际上并不准确。您可能会得到指定数量的物品,但是不能保证一定会得到准确的数量。最好的选择是捕获尽可能多的内容,并在不同的时间范围内扫描数据。
来源:Reddit