如何获取Youtube Analytics的收入报告

时间:2016-02-23 06:34:20

标签: ruby youtube-api youtube-analytics-api

我想收到你的报告。

我在YouTubeAnalytics API中使用query_report方法。

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

我的代码有问题吗?

感谢。

1 个答案:

答案 0 :(得分:0)

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