Ambil Data Diri Google Plus Dengan PHP dan Google API

Belum lama ini saya coba-coba API nya si Google dengan mengambil data diri Google Plus. Jadi, saat dia login di aplikasi kita nanti, data-data yang dia input di Google Plus bisa diambil. Jadi, mungkin dapat jadi satu pilihan kembali apabila user ingin registrasi tak perlu membuat form input untuk menyimpan data user, cukup satu tombol untuk aksi ke API nya Google, kita bisa dapatkan data-data si user tersebut.

Baiklah, mari mulai bagaimana cara penerapannya. Sama seperti Facebook dan Twitter, untuk bisa menggunakan API mereka, kita diharuskan mendaftarkan diri untuk mencatat API code secret dan callbacknya. Berikut ini saya coba buat step per step proses daftar applikasi kita ke Google.

Buat Aplikasi Pada Google API
#1 : Pastikan terlebih dahulu anda login di akun Gmail anda. Setelah login, klik link ini : https://code.google.com/apis/console. Akan terlihat gambar dibawah ini.

google API

#2 : Bila sudah, klik API Project, lalu Create project baru.

#3 : Saat klik tombol create, anda akan diarahkan ke halaman service. Aktifkan service Google+ API

#4 : Bila sudah, anda akan diarahkan ke halaman API Access. Klik tomboh Create Oauth client ID

#5 : Masukan data Oauth Client ID anda.

#6 : Pilih Web Application, lalu masukan untuk hostname nya localhost.

#7 : Bila sudah, Create Client ID, lalu akan muncul halaman review yang telah kita buat tadi beserta Client ID, Client Secret dan Redirect URL / Callbacknya.

#8 : Karena kita akan mencobanya pada localhost, jadi kita perbaiki kembali redirect URL pada ClientID yang kita setting awal tadi. Klik Edit Settings.

Proses registrasi aplikasi di Google API telah cukup sampai disini, kini kita buat aplikasi pada localhost.

Membuat Aplikasi Sederhana Di Localhost

Berikut ini adalah proses cara setting buat aplikasi sederhana di localhost :
#1 : Yang pertama adalah anda download terlebih dahulu Google API Client untuk PHP pada link ini http://code.google.com/p/google-api-php-client/.

#2 : Setelah anda mendownloadnya, buat folder pada xampp/htdocs/ dengan nama “gplus”.

#3 : Setelah itu, anda copy semua folder “src” pada Google API Client untuk PHP yang baru saja anda
download tadi. Simpan folder “src” pada folder “gplus”.

#4 : Di dalam folder “src” terdapat file config.php. Buka dengan notepad++ anda, lalu ubah value dari item config global “oauth2_client_id”, “oauth2_client_secret”, “oauth2_redirect_uri”. Isi value ketiga item tersebut dengan settingan aplikasi yang telah kita buat tadi pada Google.

#5 : Bila sudah, buat file index.php pada folder “gplus”. Isi index.php tersebut pada code dibawah ini :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
require_once 'src/apiClient.php';
require_once 'src/contrib/apiPlusService.php';

session_start();

$client = new apiClient();
$client->setApplicationName("Google+ PHP Starter Application");
$plus = new apiPlusService($client); #create object api GPlus

# jika logout
if (isset($_REQUEST['logout'])) {
  unset($_SESSION['access_token']); # hapus access_token
}

# jika telah login, ambil code token response nya
if (isset($_GET['code'])) {
  $client->authenticate();
  $_SESSION['access_token'] = $client->getAccessToken(); # simpan accss_token dlm session
  header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}

# jika terdapat access_token, set access token
if (isset($_SESSION['access_token'])) {
  $client->setAccessToken($_SESSION['access_token']);
}

if ($client->getAccessToken()) {
  # ambil data diri
  $me = $plus->people->get('me');
} else {
  $authUrl = $client->createAuthUrl();
}
?>
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
<header><h1>Google+ Sample App</h1></header>
  <?php
    if( !empty($me) ) :
  ?>
    <table>
      <tr>
        <td>Nama Lengkap</td>
        <td>:</td>
        <td><?php echo $me['displayName']; ?></td>
      </tr>
      <tr>
        <td>Image Profile</td>
        <td>:</td>
        <td><img src="<?php echo $me['image']['url']; ?>"/></td>
      </tr>
      <tr>
        <td>Link Pribadi</td>
        <td>:</td>
        <td>
          <ul>
            <?php for ( $i=0; $i<count($me['urls']); $i++ ) : ?>
              <li><a href="<?php echo $me['urls'][$i]['value']; ?>"><?php echo $me['urls'][$i]['value']; ?></a></li>
            <?php endfor; ?>
          </ul>
        </td>
      </tr>
      <tr>
        <td>Organsisasi Terakhir</td>
        <td>:</td>
        <td>
          <ul>
            <?php for ( $i=0; $i<count($me['organizations']); $i++ ) : ?>
              <li>
                <?php echo $me['organizations'][$i]['name']; ?> - <?php echo $me['organizations'][$i]['title']; ?> - <?php echo $me['organizations'][$i]['type']; ?>
              </li>
            <?php endfor; ?>
          </ul>
        </td>
      </tr>
    </table>
  <?php
    endif;
  ?>
 
  <?php
    if(isset($authUrl)) {
    print "<a class='login' href='$authUrl'>Connect Me!</a>";
    } else {
     print "<a class='logout' href='?logout'>Logout</a>";
    }
  ?>
</body>
</html>

Selesai, mari kita coba jalankan pada http://localhost/gplus/index.php

Tampilan awal, anda akan diminta untuk melakukan login terlebih dahulu. Bila sudah akan diarahkan ke permission aplikasi yang kita buat di Google tadi.

Bila kita setujui, akan terlihat data seperti dibawah ini :

Selesai sampai disini, semoga ada tambahan ilmunya ya 🙂

%d bloggers like this: