我想收到你的报告。
我在YouTubeAnalytics API中使用query_report
方法。
以下代码没有问题。
youtube_analytics.client.query_report(
'channel==MINE',
start_date.to_s,
end_date.to_s,
'views'
)
但是下面的代码返回401(身份验证失败)
youtube_analytics.client.query_report(
'channel==MINE',
start_date.to_s,
end_date.to_s,
'earnings'
)
我的omniauth设置正在跟随。
provider :google_oauth2,
Rails.application.secrets.google['client_id'],
Rails.application.secrets.google['client_secret'],
{ path_prefix: '/auth/youtube',
scope: 'email,profile,youtube.readonly,youtubepartner,yt-analytics.readonly,yt-analytics-monetary.readonly',
prompt: 'consent select_account',
}
范围有yt-analytics-monetary.readonly
,所以我认为它不应该返回401错误。
我的代码有问题吗?
感谢。
答案 0 :(得分:0)
检查您正在使用的访问令牌,这可能是问题而不是范围。当收到401错误时,它不仅链接到范围,还可能是因为其他因素,如过期或伪造的访问令牌,或者由于某些其他原因也可能无效。请参阅OAuth 2.0 Flow。