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 :
- Email Address
- P12 Key
- 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>
No Comments
Leave a comment Cancel