Premier pas avec l’API Google+ : récupération des données utilisateurs

Premier pas avec l’API Google+ : récupération des données utilisateurs

vote

Google vient d’annoncer l’arrivée de la première version de l’API de Google+, il est donc maintenant possible de récupérer les informations du profil public et les messages publics des utilisateurs de Google+.
Il n’est pas encore possible de récupérer les listes des cercles mais c’est déjà ça !

Pour utiliser l’API Google+, vous aurez besoin de plus choses :

Pour tester l’application Google+ du Tuto : flashonaute.com/tuto-googleplus
Si vous n’avez pas encore de compte Google+ : Invitations du Flashonaute pour Google+

Une fois dans Google apis activez la ligne Google+ API.
Google apis - Google+ API

Ensuite vous pouvez maintenant créer les accès à l’API, il faut pour cela générer une clé d’API (Simple API Access) et le client ID (Authorized API Access).
Google+ - API Access

Pour la partie php, c’est assez simple. Appel à l’API, vérification des autorisations et affichage des données.

<?php
 
require_once 'api/apiClient.php';
require_once 'api/contrib/apiPlusService.php';
 
session_start();
 
$client = new apiClient();
$client->setApplicationName("FlashonauteTutoGooglePlus ");
 
$client->setClientId('Client ID'); //Client ID
$client->setClientSecret('Client secret'); //Client secret
$client->setRedirectUri('Redirect URIs'); //Redirect URIs
$client->setDeveloperKey('API key'); //API key
 
$client->setScopes(array('https://www.googleapis.com/auth/plus.me'));
$plus = new apiPlusService($client);
 
if (isset($_GET['logout'])) { unset($_SESSION['access_token']); }
 
if (isset($_GET['code'])) {
  $client->authenticate();
  $_SESSION['access_token'] = $client->getAccessToken();
  header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
}
 
if (isset($_SESSION['access_token'])) { 
    $client->setAccessToken($_SESSION['access_token']); 
}
 
if ($client->getAccessToken()) {
  $me 		= $plus->people->get('me');
  $activities 	= $plus->activities->listActivities('me', 'public');
 
  $_SESSION['access_token'] = $client->getAccessToken();
} else {
  $authUrl = $client->createAuthUrl();
}
 
?>

Vous trouverez l’ensemble des infos récupérables à cette adresse : http://developers.google.com/+/api/latest/people

<div id="container">
<header><h1>Flashonaute Tuto Google+</h1></header>
<?php if(isset($authUrl)) : ?>
<div id="login">
    <a href="<?php echo $authUrl ?>">
    <img src="media/image/connectez-vous.gif" />
    </a>
</div>
<?php endif; ?>
<?php if(isset($me) && isset($activities)): ?>
<div id="logout">
	<a class='logout' href='?logout'>Logout</a>
</div>
<div id="me">
    <a rel="me" href="<?php echo $me['url'] ?>">
    <?php print $me['displayName'] ?></a>
    <br />
    <div><a rel="me" href="<?php echo $me['url'] ?>">
    <img src="<?php echo $me['image']['url'];?>?sz=100" />
    </a></div>
    Mon id : <em><?php echo $me['id']; ?></em><br />
    Ma bio : <em><?php echo $me['aboutMe']; ?></em><br /><br />
</div>
 
<div id="activities">Mes dernières publications :
    <ul>
		<?php foreach($activities['items'] as $activity): 
                if(!empty($activity['title'])) : ?>
            <li>
            	<a href="<?php print $activity['url'] ?>" target="_blank">
                <?php print $activity['title'] ?>
                </a>
            </li>
        <?php endif; endforeach ?>
    </ul>
</div>
<?php endif ?>
</div>