Blog de benji1000

Publier un tweet depuis PHP

Le 1 juillet 2011 dans Développement web

J'ai mis du temps à trouver un bon tuto pour envoyer un message sur Twitter via PHP. En effet, beaucoup d'articles que l'on trouve sur Internet se basent sur l'ancien système de Twitter, qui nécessitait simplement d'utiliser login, mot de passe, et un peu de cURL. Aujourd'hui, Twitter a mis à jour son API (depuis le 1er Septembre 2010, en fait) qui nécessite maintenant d'utiliser OAuth.

Voici donc un petit tuto pour publier un message sur son fil Twitter via une page en PHP.

Commencez par vous connecter à votre compte Twitter, puis à aller sur Twitter Developers. Complétez le formulaire pour créer votre application Twitter. Remplissez comme suit :

Application Type: Browser
Callback URL: page de votre site qui enverra les Tweets
Default Access type: Read, Write, & Direct Messages

Puis cliquez sur Register Application. Sur la page qui s'affiche, deux clés sont importantes : Consumer key et Consumer secret. Copiez-les dans un fichier texte temporaire. Dans la barre de droite, cliquez sur My Access Token. Là encore, deux champs importants à copier dans un fichier texte temporaire : _Access Token (oauthtoken) et _Access Token Secret (oauth_tokensecret).

Il faut ensuite télécharger la librairie tmhOAuth et placer le fichier tmhOAuth.php dans le répertoire de la page depuis laquelle vous enverrez vos tweets. Cliquez sur l'icône ci-dessous pour voir le fichier.

Copiez-collez le code ci-dessous en haut de votre page depuis laquelle vous enverrez vos tweets.

function tweet($message) { require 'tmhOAuth.php'; $tmhOAuth = new tmhOAuth(array( 'consumer_key' => '', 'consumer_secret' => '', 'user_token' => '', 'user_secret' => '', )); $tmhOAuth->request('POST', $tmhOAuth->url('statuses/update'), array( 'status' => utf8_encode($message) )); if ($tmhOAuth->response['code'] == 200) {return TRUE;} else {return FALSE;} } 

N'oubliez pas de remplir les champs _consumerkey , _consumersecret , _usertoken et _usersecret avec les données que vous a fournit Twitter. Ces données sont strictement personnelles !

Et pour finir, lorsque vous souhaitez publier un message, utilisez la fonction suivante :

tweet('Mon petit message Twitter ! #youpi'); 

Et voilà, c'est tout ! Petite précision : si vous tentez de Twitter un message supérieur à 140 caractères, le tweet ne sera pas publié, et vous n'aurez aucune explication. Donc pensez bien à ne pas faire des messages trop longs, et à utiliser d'autres API comme l' API de Bit.ly pour raccourcir vos URL ;)