所以,我有一个有效的OAuth令牌用于频道。令牌过期后,它会自动刷新。此令牌适用于gdata.youtube.com
的请求,但出于某种原因拒绝www.googleapis.com/youtube/analytics/v1/reports
。
用于获取令牌的范围是https://gdata.youtube.com https://www.googleapis.com/auth/yt-analytics.readonly https://www.googleapis.com/auth/youtubepartner
这适用于其他渠道,但不适用于其他渠道。
GET www.googleapis.com/youtube/analytics/v1/reports
PARAMS
?metrics=views
&ids=channel==...
&start-date=...
&end-date=...
HEADER
Authorization: Bearer ...
RESPONSE
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
修改:应该注意的是,当您在范围不足的情况下致电www.googleapis.com/youtube/analytics/v1/reports
时,会出现此错误:
{domain:global, reason:insufficientPermissions, message:Insufficient Permission}
这是与403禁止的错误完全不同的错误。
答案 0 :(得分:1)
您可能需要为项目启用YouTube Analytics。转到API控制台:https://code.google.com/apis/console,选择您的项目,然后点击服务标签,搜索YouTube Analytics,并在阅读并接受ToS后启用它。请记住验证免费配额是否足以满足您的使用需求或请求额外配额。
答案 1 :(得分:1)
我们遇到了相同的权限错误。除非用户是Youtube合作伙伴计划的一部分,否则您将无法检索内容所有者报告:
https://developers.google.com/youtube/analytics/v1/content_owner_reports
“注意:只有参与YouTube合作伙伴计划的YouTube内容合作伙伴才能访问内容所有者报告。”
但您仍然可以检索常规用户的频道报告:
https://developers.google.com/youtube/analytics/v1/channel_reports