Poster un tweet en php

Si vous avez votre propre site internet sans CMS et donc sans module tout prêt pour poster automatiquement sur les réseaux sociaux, cet article peut vous intéresser afin de poster des tweets automatiques sur le réseau social Twitter.

twitter-api-in-php

Il y a le choix

Plusieurs librairies existent pour poster un tweet en php. Il n’y a qu’à se rendre sur la page dédiée de Twitter pour le constater.

J’ai testé twitteroauth by @abraham, mais j’ai pas mal galéré pour le faire fonctionner. Je voulais une solution simple qui ne nécessite pas de manipulation complexe.

Mon choix : codebird

Je me suis finalement tourné vers la solution développée par @myx, j’ai nommé codebird.

A peine 2 fichiers à télécharger, un code simpe et clair.

Créez votre application sur Twitter

Rendez sur la page https://apps.twitter.com, identifiez vous et créez votre application Twitter. Remplissez les champs nom, description et url. Le callback n’est pas nécessaire dans notre cas.

Récupérez les clés de votre app

Une fois votre application créée, rendez vous dans l’onglet Keys and Access Token. En bas de page, cliquez sur Create my access token. Aussi, changez les permissions de votre application et passez les en read and write, sinon vous ne pourrez pas poster.

Vous avez maintenant plusieurs clés qui vous sont fournies.

twitter_tokens

 

Nous allons les réporter dans notre code PHP juste après, gardez-les sous le coude.

Le code PHP

Créez une nouvelle page PHP pour faire vos tests.Personnellement j’ai choisi de créer une classe Twitter. N’oubliez pas de copier les 2 fichiers codebird.php et cacert.pem.

include('codebird.php');

class Tweeter {
	
	const CONSUMER_KEY = '...';
	const SECRET_KEY = '...';
	const ACCES_TOKEN = '...';
	const SECRET_TOKEN = '...';
	
	private $twitter;
		
	public function __construct() {
		\Codebird\Codebird::setConsumerKey(self::CONSUMER_KEY, self::SECRET_KEY);
		$this->twitter = \Codebird\Codebird::getInstance();
		$this->twitter->setToken(self::ACCES_TOKEN, self::SECRET_TOKEN);
	}
	
	public function poster($message) {
		$this->twitter->statuses_update('status='.$message);
	}
	
}

Selon l’encodage de vos fichiers, l’utilisation de utf8_encode() peut être nécessaire sur la variable $message.

Pour poster un tweet, il vous suffit de faire ainsi :

$tweeter = new Tweeter();
$message = 'je tweete depuis php !';
$tweeter->poster($message);

Amusez vous bien, et bons tweets

2 commentaires

  • Salut ton article est top, ça marche au premier coup. Cependant je galère sur le tweet avec un média as tu une ligne de code développée à ce sujet ?

    Merci

  • Effectivement ça fonctionne en 5 secondes contrairement à twitteroauth.

Laisser un commentaire