0

まず、コンテキスト: 私は、カスタムの 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 つのアクセス許可のみを要求していることがわかります。分析権限を手動で追加すると、正しい権限が付与されます。だから、私は問題をに絞り込みました

  1. 戦略にスコープを渡す方法omniauth-google-oauth2、または
  2. 戦略がスコープ ハッシュをどのように処理/無視するか。

また、Google API コンソールで OAuth キーに対して Analytics API がオンになっていることを再確認しました。

4

1 に答える 1

0

コードの形式が正しくありません。 の後にカンマがありませんでしたENV["GOOGLE_SECRET"]。以下、固定コードです。

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
于 2013-03-19T03:38:15.843 に答える