Ruby 如何获取Youtube分析的收入报告

Ruby 如何获取Youtube分析的收入报告,ruby,youtube-api,youtube-analytics-api,Ruby,Youtube Api,Youtube Analytics Api,我想在youtube上做一份收入报告 我正在使用YouTubeanAnalytics API的query\u报告方法 下面的代码没有问题 youtube_analytics.client.query_report( 'channel==MINE', start_date.to_s, end_date.to_s, 'views' ) 但是下面的代码返回401(身份验证失败) 我的omniauth设置如下 provider :google_oauth2, Rails.appl

我想在youtube上做一份收入报告

我正在使用YouTubeanAnalytics API的
query\u报告
方法

下面的代码没有问题

youtube_analytics.client.query_report(
  'channel==MINE',
  start_date.to_s,
  end_date.to_s,
  'views'
)
但是下面的代码返回401(身份验证失败)

我的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',
  }
Scope有
yt.readonly
,所以我认为它不应该返回401错误

我的代码有问题吗


谢谢。

检查您正在使用的访问令牌,可能是问题而不是范围。当收到401错误时,它不仅链接到作用域,还可能是由于其他因素,如过期或伪造的访问令牌,或者由于其他原因无效。请参阅。

您知道需要哪个作用域吗?我认为范围
电子邮件、个人资料、youtube.readonly、youtubepartner、yt analytics.readonly、yt analytics monetary.readonly就足以获得收益价值。我使用的访问令牌不会过期,因为我可以获得其他度量值。
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',
  }