<?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;
?>
