Voici comment twitter avec vos propres applications PHP !
Pour commencer, il faut que Curl soit installé sur votre serveur. Curl est une librairie PHP, qui permet de communiquer via les protocoles http, https, ftp, et beaucoup d’autres.
Ensuite, il vous faut récupérer le script qu’a écrit Gareth Rushgrove, disponible ici:
// Set username and password
$username = ‘username’;
$password = ‘password’;
// The message you want to send
$message = ‘is twittering from php using curl’;
// The twitter API address
$url = ‘http://twitter.com/statuses/update.xml’;
// Alternative JSON version
// $url = ‘http://twitter.com/statuses/update.json’;
// Set up and execute the curl process
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
// check for success or failure
if (empty($buffer)) {
echo ‘message’;
} else {
echo ’success’;
}
?>
Comme vous le constatez, il est très simple, et facilement utilisable dans n’importe quelle application PHP pour peu que votre hébergeur (si vous n’êtes pas sur un serveur dédié) vous autorise l’utilisation de Curl.
Maintenant, et grâce à la documentation de Curl, disponnible ici, nous allons pouvoir personnaliser notre application twitter.
On défini une fonction « twitter », qui pourra être réutilisée partout ou vous en avez besoin:
{
$username = ‘login’;
$password = ‘password’;
$url = ‘http://twitter.com/statuses/update.xml’;
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
return 0;
else
return 1;
}
Ainsi, il sera facile de twitter n’importe quel contenu juste avec la ligne suivante:
//ou
$res=twitter("le message");
La variable $res est optionnelle, mais permet de savoir si tout s’est bien passé ($res=1 si message envoyé, 0 sinon). Ensuite, il ne vous reste plus qu’a faire preuve d’un peu d’imagination pour:
- être informé en temps réel si des commentaires sont postés sur votre blog,
- connaître le nombre de visiteurs journalier de votre site,
- vous faire envoyer par sms votre emploi du temps,
- …
Enfin dernier point, vous ne souhaitez pas forcément que tous le monde puisse lire le contenu de vos « twits », pensez donc configurer twitter en mode privé, menu settings et cochez protect my updates.
Ps: si vous souhaiter réaliser une application telle que l’emploi du temps par SMS et si vous ne disposez pas de votre propre serveur, vous aurez peu être besoin d’un Cron, pour exécuter le script a intervalle régulier. Vous en trouverez un gratuit ici et là.
Pps: n’hésitez pas a me faire part de vos créations. ;-)
Edit: Voici la documentation de l’API de twitter. Pour effectuer une action, il faut utiliser la bonne url et les bons paramètres. Par exemple pour supprimer un twitt, il faut utiliser l’url suivante http://twitter.com/statuses/destroy/id.xml (ou id est l’identifiant du twitt) et non plus http://twitter.com/statuses/update.xml. Ensuite il faut jouer avec la ligne suivante pour passer les paramètres nécessaires en fonction de l’action (dans mon exemple il n’y en a pas besoin):
Petit plus, vous trouverez ici des librairies PHP toutes faites. Voila, avec ça vous pouvez tout faire avec twitter, le tout en PHP !























10 Utilisateurs ont commenté ce post
En cherchant un peu:
PHP + Twitter + Google Calendar + SMS = http://dotjay.co.uk/2008/feb/p.....lendar-sms
Excellent sujet
Merci à toi! Et j’en profite aussi pour te remercier d’avoir relayé l’astuce pour le RSS vide.
;-)
Merci pour cet article interessant :) c mignon le twitter :)
Merci pour les scripts, je teste ça ce soir
@+
j’arrive pas à faire marcher le script lorsque je remplace username et password par des string venant d’input texte, pourquoi?
Salut, j’ai ‘corrigé’ un peu le script en rajoutant un utf8_encode() sur le message, car un accent ‘mangeait’ les lettres suivantes
$message = ‘Tweet envoyé depuis XXX’;
$username = ‘azerty’;
$password = ‘123456′;
$url = ‘http://twitter.com/statuses/update.xml’;
//$url = ‘http://twitter.com/statuses/update.json’;
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, ’status=’.utf8_encode($message));
curl_setopt($curl_handle, CURLOPT_USERPWD, $username.’:’.$password);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
echo (empty($buffer)) ? 0 : 1;
(C’est ridicule de supprimer le contenu des balises, un htmlentities() suffit amplement)
Merci, c’est noté ! ;-)
Pingback et Trackback
Laisser un Commentaire