无法通过YouTube Analytics API v1获取频道按点赞排序的Top10视频
解决YouTube Analytics API v1按点赞数排序Top10视频的问题
嘿,我来帮你搞定这个问题~你之前用sort=-views按浏览量拉取Top10视频没问题,换成按点赞数排序时踩坑,大概率是参数细节没注意到,下面给你梳理正确的操作和可能的坑点:
核心参数修正
你只需要把排序参数从sort=-views改成sort=-likes就行——负号表示降序排列(点赞数从高到低),而且你原来的请求里已经在metrics中包含了likes,这部分是对的,不用改。
正确的请求示例
把你原来的请求里的排序参数替换后,完整请求应该是这样的:
GET https://www.googleapis.com/youtube/analytics/v1/reports?ids=channel%3D%3DMINE&start-date=2005-05-01&end-date=2014-06-30&metrics=estimatedMinutesWatched%2Cviews%2Clikes%2Cshares&dimensions=video&max-results=10&sort=-likes&key={YOUR_API_KEY}
可能遇到的问题排查
如果替换后还是报错,你可以从这几个方向检查:
- 授权问题:
ids=channel%3D%3DMINE这个参数要求你必须通过OAuth2完成频道授权,单纯用API密钥是不行的。如果是访问公开频道的数据,你可以把MINE换成具体的频道ID(格式:channel%3D%3DUCxxxxxx),再配合API密钥试试。 - 参数拼写错误:检查
sort=-likes有没有写错,比如少了负号(变成升序,会返回点赞最少的视频)、拼写成-like(少了s),这类低级错误很容易出现。 - 数据范围问题:如果你的时间范围(
start-date和end-date)内部分视频没有点赞数据,它们会被排在末尾,max-results=10只会取前10个点赞数最高的,这是正常现象。
内容的提问来源于stack exchange,提问作者Dev




