Tuesday, September 1, 2009

Google Analytics Data API を試す

spreadsheet apiと同じような感じでいける。 同じデ-タ規格?だからか。

libraryは、pythonが充実してそうなので、これからpythonに慣れる必要がある。

interacive shell の ipythonは便利。rubyのirbより便利な気がするけど、irbは毎回 objectを inspectして出力してくるけど、ipythonはobjectの文字表示が少し不親切な気がする。代入式だと出ないし。

以下ので、時間別のpage-viewが出せた。

デ-タは、最大で、7dimension, 10metricsを持ってこれる

クロス表の出力みたいなのが簡単にできそう。

# -*- coding: utf-8 -*-
import gdata.analytics
import datetime
gas = gdata.analytics.service.AnalyticsDataService()
gas.ClientLogin("hoge", "pw")
# profileを集めてくる。
lt = gas.GetAccountList()
# そのprofileのtableIdを取る。tableIdが複数の場合は知らない
id = [x.tableId[0].text for x in lt.entry][2]
# このtableIdを元に、metricsとdimensionを指定する(10こずつ取れるようだけど、とりあえず一個,hour,pageview\
s)
data = gas.GetData(id, "ga:hour", "ga:pageviews","", "", datetime.date(2009,8,11), datetime.date(2009,8,\
30), 1, 1000)
# で-タをtupleにして出力
r = [(x.dimension[0], x.metric[0]) for x in data.entry]
print r

#時間別のpage-view
[(00, 110),
  (01, 51),
  (02, 73),
  (03, 5),
  (04, 0),
  (05, 0),
  (06, 9),
  (07, 5),
  (08, 34),
  (09, 134),
  (10, 111),
  (11, 46),
  (12, 19),
  (13, 44),
  (14, 130),
  (15, 92),
  (16, 78),
  (17, 146),
  (18, 62),
  (19, 56),
  (20, 39),
  (21, 28),
  (22, 40),
  (23, 24)]

0 comments: