Comme je vous en parlais hier soir dans un précédent article, Google a enfin décidé de publier son API pour Google+. Celle-ci va être très importante pour le développement du réseau social de la firme. En effet, avec l’émergence de services Web, applications, etc…, nous devrions rapidement voir des informations publiées sur Google+ un peu partout.
Dans cet article, je vous fournissais également du code source afin de récupérer les informations de votre profil et également de vos publications. Le problème c’est que noyé dans la masse d’articles réalisés par la communauté de blogueurs ce dernier risque de passer à la trappe… Or il ne relaye pas que l’information, que vous pouvez notamment lire sur le blog officiel de Google+, mais il vous donnait quelques lignes de code afin de commencer à utiliser l’API.
C’est pourquoi j’ai décidé de réécrire deux articles, le premier étant celui que vous êtes en train de lire, permettant de débuter votre développement avec l’API Google+. Les sujets vont être de récupérer votre profil Google+ afin de l’afficher sur votre site par exemple, et le second sûrement le plus intéressant et utile va être de récupérer et d’afficher vos publications Google+ sur votre site, blog, etc…
On commence de suite avec la première partie consacrée à l’affichage de votre profil Google+.
Récupérer votre profil Google+ à l’aide de l’API Google+ en PHP
La plupart des API Google+ utilisent la technologie l’API RESTful, ce qui signifie que vous utilisez les méthodes standards HTTP pour récupérer et manipuler des ressources.
Authentification
Beaucoup d’appels de l’API exigent que l’utilisateur de votre application accepte que vous accédiez à ces données. Pour cela, Google utilise le protocole OAuth 2.0 pour permettre aux applications autorisées à accéder aux données utilisateur. Je n’aborderais pas cette authentification dans ce mini tutoriel, en revanche vous pouvez retrouver toute la documentation ici.
Comment s’authentifier alors puisque l’API Google+ l’exige ? Tout simplement en récupérant une clé API. Afin d’acquérir une clé API, allez sur la console API. Il vous suffit d’aller dans l’onglet “Services” et de switcher à “On” l’API Google+. Rien de bien compliqué…
Note : Vous pouvez utiliser cette méthode pour la majorité des services proposés par Google.
Une fois ce mini effort fait, il reste à retourner sur l’onglet “API Access” et récupérer votre clé en bas ! Le tour est joué.
Note : Pour prévenir les abus, Google impose des limites sur les demandes d’API.
Récupération de votre profil
Une fois la clé récupérée, nous pouvons commencer à réaliser notre service pour récupérer les informations de votre profil.
“People”
Le service “People” proposé par l’API permet d’obtenir des informations sur une personne disposant d’un profil Google+. Chaque personne a un identifiant unique (ID
). Dans mon cas et dans la suite de ce tutoriel, l’identifiant de mon profil Google+ est : 116475369142621368056
.
Pour le moment une seule méthode est disponible. Il s’agit de la méthode get
. Elle va nous permettre d’obtenir le profil d’une personne.
Note : On pourra regretter d’avoir accès à une méthode update
, qui nous permettrait de mettre à jour notre profil.
Structure de données JSON
Une personne est représentée dans l’API Google+ comme une structure de données JSON, qui est envoyée dans le corps d’une requête, ou reçue dans le corps d’une réponse. Voici l’ensemble des champs qu’une personne peut contenir :
{
"kind": "plus#person",
"id": string,
"displayName": string,
"name": {
"formatted": string,
"familyName": string,
"givenName": string,
"middleName": string,
"honorificPrefix": string,
"honorificSuffix": string
},
"nickname": string,
"tagline": string,
"birthday": string,
"gender": string,
"aboutMe": string,
"currentLocation": string,
"relationshipStatus": string,
"url": string,
"image": {
"url": string
},
"emails": [
{
"value": string,
"type": string,
"primary": boolean
}
],
"urls": [
{
"value": string,
"type": string,
"primary": boolean
}
],
"organizations": [
{
"name": string,
"department": string,
"title": string,
"type": string,
"startDate": string,
"endDate": string,
"location": string,
"description": string,
"primary": boolean
}
],
"placesLived": [
{
"value": string,
"primary": boolean
}
],
"languagesSpoken": [
string
],
"hasApp": boolean
}
[/sourcecode]
Note : Vous pouvez également retrouver la structure complète des propriétés ici.
Nous voilà prêt à récupérer les informations !
Appel de la méthode
Comme expliqué ci-dessous nous allons utiliser la méthode people.get
et envoyer la requête HTTP afin de récupérer notre structure JSON.
Le code est très simple puisque nous allons utiliser que deux méthodes PHP. La première, file_get_contents()
va nous permettre de lire tout un fichier dans une chaîne. En gros, grâce à cette fonction, nous pouvons lire un fichier à partir d’une URL. La seconde, json_decode()
, va récupérer la chaîne reçue encodée en JSON et la convertir en une variable PHP. Il sera ainsi plus facile de manipuler les données.
Voici le code :
<?php
$profil_googleplus_json = file_get_contents("https://www.googleapis.com/plus/v1/people/116475369142621368056?key=VOTRECLEAPI");
$profil_googleplus = json_decode($profil_googleplus_json);
echo "<pre>";
print_r($profil_googleplus);
echo "</pre>";
?>
[/sourcecode]
Note : Les deux informations que vous pouvez modifier dans ce code, c’est l’identifiant du profil (ici 116475369142621368056) et la clé de votre API (ici votre VOTRECLEAPI).
Voici ce que l’on obtient à l’écran :
stdClass Object
(
[kind] => plus#person
[id] => 116475369142621368056
[displayName] => Yohann Poiron
[tagline] => alias @lryo17
[gender] => male
[aboutMe] => J’ai fondé le Blog des Nouvelles Technologies en 2010. Autodidacte
en matière de développement de sites en PHP, j’ai toujours poussé ma
curiosité sur les sujets et les actualités du Web. Je suis
actuellement engagé en tant que responsable interopérabilité et
développeur Web.
[url] => https://plus.google.com/116475369142621368056
=> stdClass Object
(
[url] => https://lh3.googleusercontent.com/-hTl26oxYXu8/AAAAAAAAAAI/AAAAAAAAAIw/-H-SOZaCm_0/photo.jpg
)
[urls] => Array
(
[0] => stdClass Object
(
[value] => http://twitter.com/lryo17
)
[1] => stdClass Object
(
[value] => http://www.blog-nouvelles-technologies.fr
)
[2] => stdClass Object
(
[value] => http://www.cv-developpeur-web2.com
)
[3] => stdClass Object
(
[value] => https://plus.google.com/116475369142621368056
[type] => profile
)
[4] => stdClass Object
(
[value] => https://www.googleapis.com/plus/v1/people/116475369142621368056
[type] => json
)
)
[organizations] => Array
(
[0] => stdClass Object
(
[name] => Université de La Rochelle
[title] => Génie Informatique
[type] => school
)
[1] => stdClass Object
(
[name] => OpenXtrem
[title] => Développeur Web – Responsable Interopérabilité
[type] => work
)
)
[placesLived] => Array
(
[0] => stdClass Object
(
[value] => La Rochelle
)
)
)
[/sourcecode]
Comme vous pouvez le voir ci-dessous un simple appel à la méthode people.get
nous permet de récupérer toutes les informations de notre profil. Il ne nous reste plus qu’à manipuler ces données afin de les afficher sur notre site.
Affichage de structure
Vu que nous l’avons transformé en structure PHP, vous pouvez accéder au propriété de celle-ci de cette façon :
echo "Nom : $profil_googleplus->displayName";
[/sourcecode]
Cette ligne va vous permettre d’afficher votre nom.
Démos et téléchargement
Vous pouvez télécharger la démo de l'article dans un seul fichier ZIP.
Conclusion
C’est ainsi que s’achève ce mini tutoriel. J’espère ne pas vous avoir perdu mais sincèrement je ne pense pas… Ce dernier nous a permis d’aborder l’authentification et la récupération des informations de votre profil.
On pourra tout de même regretter que l’on ait accès uniquement au “mode lecture” aux données.
Ce mini tutoriel vous a-t-il aidé dans votre développement ? Une mise en œuvre déjà faite ?