私は同僚のために、Google アナリティクスからのいくつかの統計を他の統計の横に表示するダッシュボードに取り組んでいます。Analytics データにアクセスするには、OAuth2 を使用します。OAuth2 では、アクセス トークンを取得するために、認証要求と共に送信されるスコープが必要です。Analytics にアクセスできる API コンソールでクライアント ID を作成し、次のような初期化子でスコープを指定します。
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, ENV['ADMIN_DASHBOARD_GOOGLE_CLIENT_ID'], ENV['ADMIN_DASHBOARD_GOOGLE_CLIENT_SECRET'], { access_type: 'online', approval_prompt: '', scope: 'http://gdata.youtube.com,userinfo.email,userinfo.profile,analytics.readonly' }
end
これはomniauth-google-oauth2
gemと、どこかの例で見つけたスコープを使用しています。しかし、私の実装では、このスコープは奇妙だと思います。代わりにhttp://gdata.youtube.com,userinfo.email,userinfo.profile,analytics.readonly
を使用したいのですhttps://www.googleapis.com/auth/analytics.readonly
が、そのスコープに変更すると、リクエストは を返しinvalid_credentials
ます。分析データへのアクセスのみが必要であることを指定する正しい方法は何ですか?