谷歌分析API集成问题

时间:2015-12-08 15:56:05

标签: ruby google-analytics-api google-api-client google-api-ruby-client

我正在使用signetgoogle-api-ruby-client与Google Analytics api集成,

编写了以下代码:

require 'signet/oauth_2/client'
require 'google/apis/analytics_v3'


class GoogleController < ApplicationController
   skip_before_action :ensure_json_request


def analytics_login
  client = initialize_client
  redirect_to(client.authorization_uri.to_s)
end

def analytics_callback
  client = initialize_client
  client.code = params['code']
  authorization = client.fetch_access_token!
  anal = Google::Apis::AnalyticsV3::AnalyticsService.new
  anal.authorization= authorization
  accounts = anal.list_account_summaries(max_results: 100, options:   {authorization: authorization})
  pp accounts.items.first.web_properties.first.profiles.first.id


  redirect_to('http://0.0.0.0:3000')
end

private

def initialize_client
  Signet::OAuth2::Client.new(
    :authorization_uri => 'https://accounts.google.com/o/oauth2/auth',
    :token_credential_uri => 'https://www.googleapis.com/oauth2/v3/token',
    :client_id => '*******.apps.googleusercontent.com',
  :client_secret => '******',
  :scope => Google::Apis::AnalyticsV3::AUTH_ANALYTICS,
  :redirect_uri => 'http://localhost:3000/ga/callback'
)
end

我正在接受回调并在/ ga / callback错误时收到Google :: Apis :: AuthorizationError作为来自list_account_summaries的响应。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

在挖掘了一点之后发现了一个工作样本here