youtube 数据 api 按 viewCount 搜索错误结果

youtube data api search by viewCount wrong results

当我向 https://youtube.googleapis.com/youtube/v3/search?part=snippet&channelId=*channelId*&order=viewCount&key=*apiKey* 发起 GET 请求时,我应该会获得频道中观看次数最多的视频。

响应的 items 数组的第一个元素是 6 个月前的视频,观看次数约为 4000 次。

在频道的 Youtube 页面上,如果我按观看次数排序,第一个是 10 年前的 20 万次观看。

知道为什么我没有得到正确的结果吗?

我仔细检查过,频道ID是正确的。

简单的解决方法

使用我的 YouTube operationnal API,向 https://yt.lemnoslife.com/search?part=snippet&channelId=*channelId*&order=viewCount

发出 GET 请求

有点复杂的解决方法

curl -s 'https://www.youtube.com/youtubei/v1/browse?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' -H 'Content-Type: application/json' --data-raw '{"context":{"client":{"clientName":"WEB","clientVersion":"2.2022011"}},"browseId":"CHANNEL_ID","params":"EgZ2aWRlb3MYASAAMAE="}'

不要忘记将 CHANNEL_ID 替换为您希望观看次数最多的视频所在的频道 ID。

如果您需要超过前 30 个结果,请从上述请求的响应中获取继续令牌并使用以下命令(如果您仍然对更多结果感兴趣,请使用您获得的最后一个继续令牌) :

curl -s 'https://www.youtube.com/youtubei/v1/browse?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8' -H 'Content-Type: application/json' --data-raw '{"context":{"client":{"clientName":"WEB","clientVersion":"2.2022011"}},"continuation":"CONTINUATION_TOKEN"}'

不要忘记将 CONTINUATION_TOKEN 替换为您从最新请求响应中获得的延续令牌。

注意:不要注意密钥,它不是 Youtube Data API v3 密钥。