Google Analytics Data Export API

 

Google Analytics Data Export API が登場する前に書いた記事 「Google Analytics → POP3 → 独自レポート生成」 はメールベースだったこともあって、動いているのが不思議な状況でした。 早いところ API ベースに移行してスッキリしたいところです。

Client Libraries & Sample Code には GarbGattica という2つの Ruby ライブラリが紹介されています。 この2つの使い方を見比べてみて、エイヤッで後者の Gattica を試すことにしました。

内容は、2009年4月における「ブラウザ」と「OS」のシェアを報告するというものです。

ソースコード

analytics.rb
#!/usr/bin/ruby -Ku
# -*- coding: utf-8 -*-

require 'rubygems'
require 'gattica'  # gem install cannikin-gattica -s http://gems.github.com

ga = Gattica.new({
  :email      => 'example@gmail.com',   # 要変更
  :password   => 'abracadabra',         # 要変更
  :profile_id => 999999                 # 要変更
})

[:browser, :operatingSystem].each { |dim|
  rs = ga.get({
    :start_date => '2009-04-01',
    :end_date   => '2009-04-30',
    :dimensions => dim.to_s,
    :metrics    => 'visits',
    :sort       => '-visits'
  })
  # シェアの母数を求める
  sum = rs.points.inject(0) { |acc,item|
    acc + item.metrics[0][:visits]
  }
  # 上位3件を表示
  puts "%s\n------------------------------" % [dim.to_s.capitalize]
  rs.points[0..2].each { |item|
    name  = item.dimensions[0][dim]
    share = item.metrics[0][:visits].to_f / sum * 100 - 0.05
    puts '%-17s : %5.1f%%' % [name, share]
  }
  puts "\n"
}

実行結果

$ /usr/bin/ruby -v 
ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-linux]
$ chmod +x analytics.rb 
$ ./analytics.rb 
warning: peer certificate won't be verified in this SSL session
Browser
------------------------------
Firefox           :  46.1%
Internet Explorer :  39.5%
Chrome            :   5.4%

Operatingsystem
------------------------------
Windows           :  87.3%
Macintosh         :   7.7%
Linux             :   4.2%

覚え書き

  • warning が気になるけど、とりあえず放置。