Ce soir il est question de tweets, et plus précisement de tweets via l’API Twitter.

Alors j’aime énormément Twitter, son concept, son design, tout ça ; mais j’arrive encore à galérer avec son API.
Certains diront que je ne suis pas doué, c’est probable. Pour les autres, voici un petit tutoriel qui, je l’espère, vous permettra de tweeter en PHP avec à l’aide de TmhOAuth.

Configuration du compte Twitter

Pour utiliser Twitter depuis vos travaux, il vous faudra avant tout créer une nouvelle application en vous rendant sur le Twitter Dev Center.

Création d’une nouvelle application

Une fois connecté, rendez-vous dans la partie “My Applications”, puis cliquez sur “Create new application”.

Renseignez le formulaire, galérez avec le captcha, puis cliquez sur “Create your Twitter application” :


Page de création d'une nouvelle application Twitter

Rendez-vous ensuite sur l’onglet “Settings”, puis dans la section “Application Type”, sélectionnez “Read and Write” ; pour enfin enregistrer :


Paramétrage du type d'application

Retournez maintenant sur l’onglet “Details”, puis cliquez sur “Create my access token”. Rafraîchissez la page, vous devriez maintenant voir apparaître votre Access token ainsi que votre Access token secret :


Création d'un Access token

Les paramètres qui nous intéresseront pour la suite sont les suivants :

  • Consumer key,
  • Consumer secret,
  • Access token,
  • Access token secret.

Nous sommes maintenant fins prêts pour la suite !

Utilisation de TmhOAuth

TmhOAuth est une bibliothèque PHP très simple d’utilisation permettant notamment d’envoyer de nouveaux tweets. Et ça tombe plutôt bien.

Rapatriement en local

TmhOAuth est disponible sur Github à l’adresse https://github.com/themattharris/tmhOAuth/.

On commence par le rapatrier dans notre répertoire de travail :

1
$ git clone https://github.com/themattharris/tmhOAuth.git

Nous obtenons un repertoire nommé tmhOAuth. N’y touchons pas.

Les choses sérieuses

Nous nous contenterons dans cet exemple d’une bête fonction tweetMe($tweet); qui, vous l’aurez compris, aura pour mission de tweeter la chaine passée en paramètre.

Pour l’exemple, je créé un fichier nommé test-twitt.php à la racine de notre répertoire de travail, puis j’y inclus tmhOAuth :

1
2
3
4
5
6
7
<?php
require('tmhOAuth/tmhOAuth.php');

function tweetMe($tweet){
// …
}
?>

Afin de pouvoir envoyer un tweet, il faudra :

  • Créer un tableau contenant nos informations de connexion,
  • Instancier tmhOAuth en lui passant la configuration,
  • Appeler la méthode user_request() en lui passant une fois de plus les paramètres nécéssaires.

Voici le code PHP permettant d’envoyer un tweet :

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
<?php
require('tmhOAuth/tmhOAuth.php');

function tweetMe($tweet){
if($tweet == "" || $tweet == null)
throw new Exception("La chaine à tweeter est vide.");

$params = array(
'status' => $tweet
);

$config = array(
'consumer_key' => 'VOTRE CONSUMER KEY',
'consumer_secret' => 'VOTRE CONSUMER SECRET',
'token' => 'VOTRE TOKEN',
'secret' => 'VOTRE SECRET',
'user_agent' => 'Nicolas C. - Blog'
);

$tmhOAuthEngine = new tmhOAuth($config);

$response = $tmhOAuthEngine->user_request(array(
'method' => 'POST',
'url' => $tmhOAuthEngine->url("1.1/statuses/update"),
'params' => $params,
'multipart' => true
));

return $response;
}



$result = tweetMe("Tutoriel TmhOAuth - Tweeter en PHP");

if($result == 200)
echo 'Le tweet a bien été envoyé !';
else
echo 'Une erreur s\'est produite.';

?>

Bien entendu, il vous faudra remplacer les différents paramètres du tableau $config par ceux que vous avez obtenu lors de la première étape.

Ce code devrait normalement vous renvoyer la réponse suivante :

Le tweet a bien été envoyé !

Et si on passe voir du côté de Twitter :


Résultat du tutoriel

Victoire !

Conclusion

TmhOAuth est, bien qu’imprononçable, une bibliothèque très pratique pour utiliser l’API Twitter. Comme nous venons de le voir, il est possible en quelques lignes de poster de nouveaux tweets.
Cette bibliothèque propose également un large éventail de fonctionnalités, comme par exemple afficher le flux d’une personne, ou rechercher sur Twitter.

Pour aller plus loin, je vous encourage à jeter un oeil sur cet ensembles d’exemples.

Je vous souhaite de bien vous amuser avec tout ça, et n’hésitez pas à poser vos questions dans les commentaires ou pourquoi pas sur Twitter.

À bientôt !