<?php require_once 'vendor/autoload.php'; $client_id = 'xxxx'; $view_id = 'xxxx'; $private_key = @file_get_contents('xxxx'); $from = date('2017-12-01', strtotime('-1 day')); $to = date('2018-01-31'); $dimensions = 'ga:pageTitle, ga:pagePath, ga:date'; $metrics = 'ga:pageviews'; $option = array( 'dimensions' => $dimensions, 'max-results' => 10, 'sort' => '-ga:pageviews', 'start-index' => 11, ); if(isset($_SESSION['service_token'])) { $client->setAccessToken($_SESSION['service_token']); } $scopes = array('https://www.googleapis.com/auth/analytics.readonly'); $credentials = new Google_Auth_AssertionCredentials($client_id, $scopes, $private_key); $client = new Google_Client(); $client->setAssertionCredentials($credentials); if($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion($credentials); } $_SESSION['service_token'] = $client->getAccessToken(); $analytics = new Google_Service_Analytics($client); $obj = $analytics->data_ga->get('ga:'. $view_id, $from, $to, $metrics, $option); $json = json_encode($obj); $html .= '<h2>実行結果</h2>'; $html .= '<p><b>' .date('Y/m/d', strtotime($from)). '</b>のページビューのデイリーランキングを取得しました。<mark>値はサンプル用のダミーです。</mark></p>'; if(!isset($obj->rows)) { $html .= '<p><mark>データを取得できませんでした。</mark></p>'; } else { $html .= '<ol>'; for($i=0, $l=count($obj->rows); $l > $i ; $i++) { $item = $obj->rows[$i]; $html .= '<li><a href="' . $item[l] .'"target="_blank">' .$item[0]. '<a>(' . number_format($item[3]). 'PV)</li>'; } $html .= '</ol>'; } $html .= '<h2>取得したデータ(JSON)</h2>'; $html .= '<textarea row="12">' . $json . '</textarea>'; ?> <?php echo $html; ?>