ruby:如何使用谷歌分析计算vistor页面

时间:2016-03-15 11:16:52

标签: ruby ruby-on-rails-4 rubygems google-analytics-api

我想按页面计算访客

opts = YAML.load_file("ga_config.yml")

## Update these to match your own apps credentials in the ga_config.yml file
service_account_email = opts['service_account_email']  # Email of service account
key_file = opts['key_file']                            # File containing your private key
key_secret = opts['key_secret']                        # Password to unlock private key
profile_id = opts['profileID'].to_s                    # Analytics profile ID.


client = Google::APIClient.new(
  :application_name => opts['application_name'],
  :application_version => opts['application_version'])

## Load our credentials for the service account
key = Google::APIClient::KeyUtils.load_from_pkcs12(key_file, key_secret)

visitors = []


client.authorization = Signet::OAuth2::Client.new(
  :token_credential_uri => 'https://accounts.google.com/o/oauth2/token',
  :audience => 'https://accounts.google.com/o/oauth2/token',
  :scope => 'https://www.googleapis.com/auth/analytics.readonly',
  :issuer => service_account_email,
  :signing_key => key)

# Start the scheduler

  # Request a token for our service account
  client.authorization.fetch_access_token!

  # Get the analytics API
  analytics = client.discovered_api('analytics','v3')

  # Execute the query
  response = client.execute(:api_method => analytics.data.realtime.get, :parameters => {
    'ids' => "ga:" + profile_id,
    'metrics' => "ga:activeVisitors",
  })

  puts response.data.rows.count

在运行代码中。 response.data.row.count = 0。 但我去了https://analytics.google.com/analytics/web/#realtime/rt-content

内容

  

现在:2

显然我的代码中有任何错误? 如何解决这个问题?

我想逐页显示访问者 例如:

ActivePage                         activeUser
/page1                                  1
/page2                                  3

如何获取以上数据?

感谢

1 个答案:

答案 0 :(得分:1)

您正在从实时API请求数据,但您没有使用有效的实时API指标。您还需要添加维度

试试这个

'metrics' => "rt:activeVisitors", 'dimensions' => "rt:pagePath",