Z-i-G-Z-a-G

Flux messages — API Twitter


Après avoir découvert comment intégrer un flux de photos via l’API d’Instagram il y a deux semaines, c’est maintenant au tour de l’API de Twitter. La démarche est un peu moins complexe que pour celle d’Instagram et cela vous permettra d’afficher sur votre site les derniers tweets de votre compte. Twitter est un outil de microblogage (un dérivé concis du blog, qui permet de publier des articles très cours). Il permet à un utilisateur d’envoyer gratuitement de brefs messages, appelés tweets, sur internet, par messagerie instantanée ou par SMS. Ces messages sont limités à 140 caractères*.

twitter2

Pour ceux qui ne connaissent pas le terme API, vous pouvez trouver une brève signification dans le précedant article de cette section, Flux photos — API Instagram.

CRÉER UNE APPLICATION

Commençons par nous rendre sur l’Application Management de Twitter à cette adresse: https://apps.twitter.com, afin de créer notre API Twitter.
La première étape consiste à créer cette application, en cliquant sur « Create New App« , assurez vous d’être connecté à votre compte Twitter. Si vous n’avez pas de compte, créez en un et revenez à l’adresse précédente.

Après avoir cliqué, nous sommes invités à remplir les détails de cette nouvelle application, pour se faire, remplissez les différents formulaires.

create

Name: [le nom de votre choix, par exemple zigzag.]
Description: [si vous créez plusieurs applications cela peut vous permettre de savoir à quoi elles correspondent]
Website: [l’adresse complète de votre site en commençant par http:// ]
Callback URL: [permet au utilisateur de se connecter à Twitter, pas besoin dans notre cas donc le champs peux rester vide]

Cochez « Yes, I agree » pour accepter le Developer Agreement et enfin cliquez sur « Create your Twitter application« . En créant cette application, nous pouvons obtenir deux informations importantes, notre Key public et notre Key secrète. Comme ceci:

key

Nous pouvons ensuite aller sur l’onglet « Keys and Access Tokens » afin d’obtenir des tokens d’accès qui serons spécifique à notre compte Twitter. Pour les obtenir, cliquez sur « Create my access token » et automatiquement Twitter généreras c’est codes. Nous obtenons alors un token publique et un token secret qui nous permettrons de lire les informations dans notre API. Gardez-les à proximité car ils devront être récupérés par la suite.

token

CODE PHP

Maintenant que nous avons tout les codes d’accès de notre compte Twitter, nous pouvons passer à l’intégration de nos Tweets sur notre site. Ouvrez votre fichier .html ou .php où vous souhaitez placer la liste de Tweet. De mon côté, pour les besoins du test, je créer un simple index.php que je place dans le htdocs de mon logiciel MAMP.

En regardant dans la documentation développeurs de Twitter, nous devons trouver comment appeler nos Tweets. Une méthode timeline utilisateur existe (GET statuses/user_timeline) mais nous avons besoin de nous authentifier pour l’utiliser. Pour ce faire, pas de panique, quelqu’un c’est chargé de le faire pour nous; les fichier sont disponible sur GitHub à cette adresse abraham/twitteroauth. Cliquez sur « Download ZIP » pour télécharger les fichiers, ouvrez-le, ici seul le dossier appelé twitteroauth nous intéresse. Copiez-le puis placez-le dans le même dossier que votre fichier que vous avez ouvert tout à l’heure (dans mon cas, je le place dans mon htdocs à côté de mon fichier index.php). À présent, nous allons devoir initialisé les deux fichiers présent dans notre dossier twitteroauth. Pour ça reprenez votre fichier .html (index.php pour moi), nous allons commencez par appeler nos deux fichiers à l’endroits où vous voulez que vos Tweets apparaissent (pour moi ce sera tout simplement entre mes balises <body></body>.

Pour appeler c’est fichiers, on utilise require à l’intérieur d’une balise php en spécifiant le dossier puis le fichier afin d’initialiser l’objet avec TwitterOAuth dans une variable que nous appellerons connection. Comme ceci:

<?php
	require 'twitteroauth/twitteroauth.php';
	$connection = new TwitterOAuth('Consumer_Key', 'Consumer_Secret', 
		'Access_Token', 'Access_Token_Secret');
?>

Reprenez vos codes obtenu en créant l’application Twitter, et remplacez Consumer_key, Consumer_Secret, Access_Token et Access_Token_Secret par vos différents codes correspondants. Notez que nous appelons uniquement le fichier twitteroauth.php car le second (OAuth.php) est automatiquement appelé par le premier.

Maintenant que nous avons initialisé nos fichiers, nous pouvons directement faire des appels à l’API en utilisant les différentes méthodes. Comme nous l’avons vus juste avant, la documentation de Twitter nous donne un GET statuses/user_timeline ainsi que des paramètres optionnels tel que screen_name ou count. Donc juste après notre variable connection, nous allons créer une seconde variable que nous appellerons tweets afin d’appeler cette méthode. Nous pouvons ajouter le paramètre count, qui nous permettra d’afficher le nombre souhaité de Tweet, ici 5 pour afficher nos cinq derniers messages.

$tweets = $connection->get('statuses/user_timeline', array('count' => 5));

Une fois fait, si nous voulons récupérer seulement le texte de nos Tweets, nous allons devoir les parcourir grâce à la fonction foreach et ne garder que le texte. La structure de langage foreach fournit une façon simple de parcourir des tableaux. Vous pouvez obtenir plus de détail sur le site http://php.net. Nous appelons nos Tweets dans une balise <li></li> et le tout contenu dans un <ul></ul> afin de respecter la stylisation.

<ul>
<?php foreach ($tweets as $k => $tweet): ?>
	<li><?= $tweet->text; ?></li>
<?php endforeach ?>
</ul>

Voilà enregistrez votre fichier et ouvrez-le dans votre navigateur préféré, nos différents Tweets s’affichent bien à la suite. En revanche si vous avez beaucoup d’utilisateurs qui visitent votre site cela peux poser problème car Twitter limite les appels à 180 par quart d’heure selon la documentation. Mais nous pouvons contourner ce problème, nous verrons peut être dans un prochain tutoriel comment faire. En attendant vous pouvez modifier le nombre de Tweet que vous souhaitez afficher, ou encore afficher leur date de post ou autre chose. Merci à Grafikart qui propose plus en détails là démarche à suivre et auquel ce tutoriel s’inspire.

* description disponible sur Wikipédia

Share Button

Rubrique: Section 17 | Commenter




Laissez un commentaire