まず、コンテキスト: 私は、カスタムの Google アナリティクス レポートを作成するための小さな Web アプリを作成しています。
私のGemfileで:
gem 'omniauth'
gem 'omniauth-google-oauth2'
私の中でconfig/initializers/omniauth.rb
:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, ENV["GOOGLE_KEY"], ENV["GOOGLE_SECRET"]
{
:scope => "userinfo.email,userinfo.profile,analytics.readonly",
:approval_prompt => "auto"
}
end
Google で認証画面にアクセスすると、userinfo.email
とのuserinfo.profile
許可のみが要求され、 は何も要求されませんanalytics.readonly
。
認証中に URL を見ると、最初の 2 つのアクセス許可のみを要求していることがわかります。分析権限を手動で追加すると、正しい権限が付与されます。だから、私は問題をに絞り込みました
- 戦略にスコープを渡す方法
omniauth-google-oauth2
、または - 戦略がスコープ ハッシュをどのように処理/無視するか。
また、Google API コンソールで OAuth キーに対して Analytics API がオンになっていることを再確認しました。