0

我要 youtube 收入报告。

我正在使用query_reportYouTubeAnalytics API 的方法。

http://www.rubydoc.info/github/google/google-api-ruby-client/Google/Apis/YoutubeAnalyticsV1/YouTubeAnalyticsService#query_report-instance_method

以下代码没有问题。

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 错误。

我的代码有问题吗?

谢谢。

4

1 回答 1

0

检查您正在使用的访问令牌,它可能是问题而不是范围。收到 401 错误时,它不仅与范围相关联,还可能是由于其他因素,例如过期或伪造的访问令牌,或者也可能由于其他原因而无效。请参阅OAuth 2.0 Flow

于 2016-02-25T17:51:33.547 回答