こんにちは。 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 のプラグインなどにも応用できそうですね。









