Created
August 28, 2015 07:49
-
-
Save LindaLawton/ff73ee5670dc7fef803f to your computer and use it in GitHub Desktop.
Google analytics Service Account with PHP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require_once 'Google/autoload.php'; | |
session_start(); | |
/************************************************ | |
The following 3 values an befound in the setting | |
for the application you created on Google | |
Developers console. Developers console. | |
The Key file should be placed in a location | |
that is not accessable from the web. outside of | |
web root. web root. | |
In order to access your GA account you must | |
Add the Email address as a user at the | |
ACCOUNT Level in the GA admin. | |
************************************************/ | |
$client_id = '[Your client id]'; | |
$Email_address = '[YOur Service account email address Address]'; | |
$key_file_location = '[Locatkon of key file]'; | |
$client = new Google_Client(); | |
$client->setApplicationName("Client_Library_Examples"); | |
$key = file_get_contents($key_file_location); | |
// seproate additional scopes with a comma | |
$scopes ="https://www.googleapis.com/auth/analytics.readonly"; | |
$cred = new Google_Auth_AssertionCredentials($Email_address, | |
array($scopes), | |
$key); | |
$client->setAssertionCredentials($cred); | |
if($client->getAuth()->isAccessTokenExpired()) { | |
$client->getAuth()->refreshTokenWithAssertion($cred); | |
} | |
$service = new Google_Service_Analytics($client); | |
//Adding Dimensions | |
$params = array('dimensions' => 'ga:userType'); | |
// requesting the data | |
$data = $service->data_ga->get("ga:89798036", "2014-12-14", "2014-12-14", "ga:users,ga:sessions", $params ); | |
?> | |
<html> | |
Results for date: 2014-12-14<br> | |
<table border="1"> | |
<tr> | |
<?php | |
//Printing column headers | |
foreach($data->getColumnHeaders() as $header){ | |
print "<td><b>".$header['name']."</b></td>"; | |
} | |
?> | |
</tr> | |
<?php | |
//printing each row. | |
foreach ($data->getRows() as $row) { | |
print "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td></tr>"; | |
} | |
?> | |
<tr><td colspan="2">Rows Returned <?php print $data->getTotalResults();?> </td></tr> | |
</table> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment