こんにちは。 Web 担当の真谷(シンガイ)です。
前回に引き続き、Google Analytics のネタを書こうと思います。
前回、「Data Feed Query Explorer で出した人気エントリーの結果をスクリプトにする」と宣言しました。スクリプトといっても色々ありますが、某アンケートでも投票したとおり、大好きな PHP で書いてみます。
ということで、いざ PHP で書こうと意気込んではみたものの、実は私 Google Analytics API を Java でしか使用したことがありませんでした。
1からライブラリを作成しよう!とやってたら、ブログの為とはいえ時間がかかりすぎてしまうので、既存のライブラリを用いて作成します。
非公式ですが、こちらに GAPI という PHP ライブラリがあります。
本体の gapi.class.php は 22KB で1000行以下と軽量で使いやすいので、これで書いてみました。
<?php require_once 'gapi.class.php'; define('email','Google Analytics で使用している email アドレス'); define('password','Google Analytics で使用している パスワード'); define('profileId','Google Analytics のプロファイル ID'); date_default_timezone_set('Asia/Tokyo'); // フィルターは使用するページに合わせて作成してください。 $filter = 'pagePath=~/blog/2011/04/ || pagePath=~/blog/2011/05/ || pagePath=~/blog/2011/06/'; $startDate = date('Y-m-d', strtotime('11 Apr 2011')); $endDate = date('Y-m-d', strtotime('20 Jun 2011')); $offset = 1; $max = 10; $count = 1; $body = ""; $ga = new gapi(email,password); $ga->requestReportData(profileId, array('pageTitle','pagePath'), array('pageviews','visits'), '-pageviews', $filter, $startDate, $endDate, $offset, $max); foreach($ga->getResults() as $result){ $body .= ' <tr> <th style="width: 100px; border: 1px solid rgb(51, 51, 51);">'.$count.'位</th> <td><a href="http://www.fenrir.co.jp'.$result->getPagepath().'" target="_blank" style="color: rgb(4, 146, 229);">'.$result->getPagetitle().'</a></td> </tr> '; $count++; } $content = '<table> <tbody>'. $body. '</tbody> </table>'; echo $content;
email・password・profileId に、Developer’s Blog で使用していアカウント等を指定すると以下の結果になります。
今回は PHP で書いたので、ちょっと工夫すれば WordPress のプラグインなどにも応用できそうですね。