Google Analytics APIのおべんきょう。
僕はJavascriptもJavaもPyrthonも使えないので、得意なPerlでやります。
まず、認証。
認証には3パターンあって、「ClientLogin」、「AuthSub」、「OAuth」があります。
今回はClientLoginの方式を使います。
なぜなら簡単だから。
ただし、この方法は
Important: Do not use ClientLogin if you are writing an application that runs on your computer to make requests on behalf of 3rd party end users. Instead, use either AuthSub or OAuth, which protects end users' private data. Because ClientLogin stores the user login data, it should only be used in cases where that data is under the direct control of the user (e.g. their personal computer).
と書かれていることからもわかるように、
ログイン情報(IDとPassword)が流出する可能性があるので、
気をつけなければなりません。
認証の流れはこんな感じ。
LWP User Agentを生成。
認証用のURL(https://www.google.com/analytics/feeds/accounts/default)に、POSTでアクセスし。
その際、POSTデータとして、メールアドレス、パスワード、service名(= analytics)、source(= c組織名-アプリの名前-バージョン)を渡す必要があります。
Perlのコードはこんな感じ。
POST "https://www.google.com/analytics/feeds/accounts/default",
[ Email => 'hogehoge@gmail.com',
Passwd => 'password',
service => 'analytics',
source => companyName-applicationName-versionID ]
);
あ、use LWP::UserAgent と use HTTP::Request::Commonが必要です。
ログインが成功したら200のレスポンスコードが返ってくると思います。
use Data::Dumperして
とやって何が返ってきたか確認してみてください。
返ってきた情報の中の
というのが認証の鍵になるものです。正規表現などで、この=の右側を抜き出して、
保存しておきます。
これ以降、GETでデータを取得する際にこの文字列を一緒に渡してあげれば
GoogleAnalyticsのデータを取得することができるようになります。
こんな感じで。
$ua->request($req);
時間がないのでここまで。