R から APIで Googleアナリティクスのデータを引っ張ってくるパッケージ、RGoogleAnalytics を使えるようにするまでのメモです。
パッケージのインストールは
install.packages("RGoogleAnalytics")
でいけます。
まずは https://console.developers.google.com/projectにアクセス
Image may be NSFW.
Clik here to view.
プロジェクトを作成
Image may be NSFW.
Clik here to view.
プロジェクト名を適当に入力して「GoogleAPIを利用する」をクリック
Image may be NSFW.
Clik here to view.
「Analytics API」 を選んで
Image may be NSFW.
Clik here to view.
「APIを呼び出す場所」は「その他の UI」、「アクセスするデータの種類」は「ユーザーデータ」を選択
Image may be NSFW.
Clik here to view.
認証情報を選んで
Image may be NSFW.
Clik here to view.
「クライアント ID」と「クライアント シークレット」をコピー
R 上で「クライアント ID」と「クライアント シークレット」を入力して Auth すると oauth_token を取得できます。
library(RGoogleAnalytics) id <-"***" sec <-"***" oauth_token <- Auth(id,sec)
Image may be NSFW.
Clik here to view.
Googleアナリティクスデータの表示を許可してください。
入手した token は以下のようにセーブしておくと、次回以降使い回せます。
save(oauth_token, file="oauth_token") load("oauth_token")#次回以降
ためしに適当なデータを取得してみます。
library(RGoogleAnalytics) profiles <- GetProfiles(oauth_token)
GetProfiles でプロファイルの ID を取得できます。
クエリは例えば以下のように作成する
query.list <- Init(start.date ="2015-11-01", end.date ="2015-11-30", dimensions ="ga:date", metrics ="ga:sessions", max.results =1000, table.id = paste("ga",profiles[1,1],sep=":")) ga.query <- QueryBuilder(query.list)#上はクエリを作成しただけなので GetReportData でデータを取得 ga.df <- GetReportData(ga.query, oauth_token)
とりあえずプロット
library(ggplot2) ggplot(ga.df,aes(x=1:nrow(ga.df),y=sessions))+ geom_line()+ ylim(c(0,max(ga.df$sessions)))
Image may be NSFW.
Clik here to view.
クエリ作成方法については、ちょっと古いけど、
R から API で Google アナリティクスのデータを読むこめるパッケージ, RGoogleAnalytics のクエリ作成方法 - 廿TT
が参考になると思います。