Mendapatkan google Analytics report dengan PHP menggunakan Google API

alfa6661
- June 15, 2015
0 (0 votes)
Rate :
Cara Mendapatkan google Analytics report dengan PHP

Versi 2.0

Untuk menggunakan Google API versi 2: Mendapatkan google Analytics report dengan PHP menggunakan Google API 2.0

Pada artikel Mendapatkan google Analytics report dengan PHP telah dibahas mengenai cara pengambilan data google analytics dengan menggunakan class GAPI. GAPI saat ini sudah deprecated, class GAPI sudah tidak bisa digunakan lagi, Saat ini untuk mendapatkan data google analytics kita bisa menggunakan OAuth2 atau Service account. Pada tutorial kali ini kita akan mengambil data google analytics melalui Service Account.

Service Account

Service Account memungkinkan aplikasi kita untuk mengakses data Google Analytics tanpa harus masuk ke halaman google analytics.

PHP Client Library

Dalam tutorial ini kita akan menggunakan versi terbaru dari Google Client library untuk PHP yang dapat didownload di Github. Google API client untuk php ini secara teratur diperbaharui setiap kali terjadi perubahan.

Google Developers Console

Sebelum Anda dapat mengakses salah satu API Google kita harus terlebih dahulu membuat aplikasi kita di konsol Google Developers atau bisa juga menggunakan project yang sudah ada.

Setelah kita memiliki project, kita siap untuk menggunakan layanan Google yang disediakan. Untuk menggunakan layanan Google yang disediakan, kita perlu mengaktifkan API terlebih dahulu. Karena kita akan menggunakan API Google Analytics, kita perlu mengaktifkan API Google Analytics terlebih dahulu. Untuk mengaktifkannya pilih menu API & Auth, pilih Analytics API, kemudian Enable API.


Credentials

Selanjutnya kita perlu untuk membuat credential untuk aplikasi client kita. Untuk membuatnya, masih dibawah menu API & Auth terdapat menu Credentials, masuk ke menu tersebut dan pilih Create New Client ID. Pada saat membuat client ID, kita akan dihadapkan pada pemilihan application type, pada artikel kali ini kita akan menggunakan Service Account sebagai tipe aplikasi yang akan digunakan dan key type menggunakan p12 key.

Setelah membuat Client ID, kita akan mendapatkan data data seperti dibawah ini :

Untuk menggunakan Layanan Service Account Google untuk Analytics API, kita memerlukan 3 hal berikut :

  1. Email Address
  2. P12 Key
  3. ID Google Analytics untuk tampilan

Untuk mendapatkan Google Analytics ID, masuk ke halaman Google Analytics, kemudian pilih menu Admin. Pada menu admin terdapat 3 kolom, pilih menu setelan tampilan pada kolom ketiga.

Syntax

require_once 'src/Google/autoload.php';
session_start();
$email = 'xxx@developer.gserviceaccount.com';	 
$key_file = 'xxx.p12';
$gaID = 'xxxxx';
$client = new Google_Client();	 	
$client->setApplicationName("Lab-Informatika");
$key = file_get_contents($key_file);	
$scopes ="https://www.googleapis.com/auth/analytics.readonly";
$credential = new Google_Auth_AssertionCredentials($email, array($scopes), $key);
$client->setAssertionCredentials($credential);
if($client->getAuth()->isAccessTokenExpired()) {	 	
	$client->getAuth()->refreshTokenWithAssertion($credential);	 	
}
$service = new Google_Service_Analytics($client);
$params = array('dimensions' => 'ga:date');
$data = $service->data_ga->get("ga:{$gaID}", date('Y-m-d', strtotime('today - 20 days')), date("Y-m-d"), "ga:sessions,ga:pageviews", $params);

Selanjutnya kita bisa mengolah variable $data untuk ditampilkan dalam bentuk HTML. contohnya :

<table border="1">	 
	<tr>	 
	<?php foreach($data->getColumnHeaders() as $header) : ?>
		<td colspan="3">
			<b><?php echo $header['name'] ?></b>
		</td>
	<?php endforeach ?>
	</tr>	 	
	<?php foreach ($data->getRows() as $row) : ?>
	<tr>
		<td><?php echo $row[0] ?></td>
		<td><?php echo $row[1] ?></td>
		<td><?php echo $row[2] ?></td>
	</tr> 
	<?php endforeach ?>
	<tr>
		<td colspan="3">
			Rows Returned <?php echo $data->getTotalResults() ?>
		</td>
	</tr>	 
</table>

Hasil dari kode diatas akan menampilkan data analytics dalam bentuk HTML table.

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

– Eric S. Raymond

Have a better explanation?

If you have comments about this post. Please write your comments below