gapi.php(GoogleAnalytics API)を利用した、サイトの人気コンテンツ取得
2012年2月11日Table of Contents
gapi.php(GoogleAnalytics API)を利用した、サイトの人気コンテンツ取得
GoogleAnalytics API(gapi.class.php)を利用して、サイトの人気コンテンツを取得する方法。
サイトの人気コンテンツを10件表示するサンプル。
下記のリンクから、gapi.class.phpをダウンロード
gapi-google-analytics-php-interface
[php]
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>GAPI-1.3: report</title>
<style>body { font-size:small; } table { border-collapse:collapse; width:100%; } th,td { padding:3px 5px; } .num { text-align:right; }</style>
</head>
<body>
<?php
/* Google Analyticsのログイン情報 */
define('ga_email','{メールアドレス}');
define('ga_password','{パスワード}');
/* プロファイルID */
define('ga_profile_id','{プロファイルID}');
/* ディメンション */
$dimensions=array('pageTitle','pagePath');
/* 指標 */
$metrics=array('pageviews','visits');
/* 結果のソート順と方向 */
$sort_metric='-pageviews';
/* フィルター */
$filter="";
/* 開始日・終了日(過去1週間) */
$start_date=date('Y-m-d', strtotime('-7 day'));
$end_date=date('Y-m-d', strtotime('-1 day'));
/* 開始インデックス */
$start_index=1;
/* 結果フィードの最大取得数 */
$max_results=10;
/* クラス読み込み */
require 'gapi.class.php';
/* 認証 */
$ga = new gapi(ga_email,ga_password);
/* データ取得 */
$ga->requestReportData(
ga_profile_id, /* プロファイルID */
$dimensions, /* ディメンション */
$metrics, /* 指標 */
$sort_metric, /* 結果のソート順と方向 */
$filter, /* フィルタ */
$start_date, /* 開始日 */
$end_date, /* 終了日 */
$start_index, /* 開始インデックス */
$max_results /* 結果の最大取得数 */
);
?>
<h3>人気エントリーTOP10</h3>
<p><?php echo $start_date;?> ~ <?php echo $end_date;?>(過去1週間)</p>
<table border="1">
<tr><th>No.</th><th>コンテンツタイトル</th><th>ページビュー</th></tr>
<?php
$i=1;
foreach($ga->getResults() as $result):
?>
<tr>
<td><?php echo $i;?></td>
<td><a href='<?php echo $result->getPagepath();?>'><?php echo str_replace("|PHP & JavaScript Room","",$result->getPagetitle());?></a></td>
<td class="num"><?php echo $result->getPageviews();?></td>
</tr>
<?php
$i++;
endforeach
?>
</table>
</body>
</html>
[/php]