この辺を押さえておけば大丈夫そう
訪問数: 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