この辺を押さえておけば大丈夫そう
訪問数: ga:sessions
合計PV: ga:pageviews
平均閲覧ページ数: ga:pageviewsPerSession
平均滞在時間: ga:avgSessionDuration
直帰率: ga:bounceRate
タイトル: ga:pageTitle
パス: ga:pagePath
require_once 'google-api-php-client/src/Google/autoload.php';
$service_account_email = '*';
$key = file_get_contents('analytics-*-*.p12');
$profile = '*';
$client = new Google_Client();
$analytics = new Google_Service_Analytics($client);
$cred = new Google_Auth_AssertionCredentials(
$service_account_email,
array(Google_Service_Analytics::ANALYTICS_READONLY),
$key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()){
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$pv = $analytics->data_ga->get(
'ga:' . $profile,
'7daysAgo',
'yesterday',
'ga:pageviews',
);
echo $pv -> rows[0][0] . "\n";
$result = $analytics->data_ga->get(
'ga:' . $profile,
'7daysAgo',
'yesterday',
'ga:pageviews',
array(
// "dimensions" => 'ga:pageTitle',
"dimensions" => 'ga:pagePath',
"sort" => '-ga:pageviews',
"max-results" => '10',
)
);
$data = $result->rows;
foreach($data as $key => $row){
echo ($key + 1) . ':' . $row[0]. ' ' . $row[1] . "\n";
}
ちょっと処理に時間がかかるので、テーブル作ってトップページの値はCronでデータベースに格納しておくか。
あとは日付指定のところをDatepicker & Postで作りたい。
todayは0daysAgo, yesterdayは’1daysAgo’でもいけるみたいだけど、[0-9]+(daysAgo)は9日前までしかできないから、YYYY-MM-DDの方が良さそうですね。
[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
https://developers.google.com/analytics/devguides/reporting/core/v3/reference?hl=ja