Agence web et solutions IT, Experts Symfony contact@avanim-prod.com

Intégrer la TL Twitter sur Symfony avec oAuth : Tutorial

5 août 2011 jravouna Symfony 0 Comments

Je vais parlé ici de l’intégration de Twitter et de sa TimeLine (enfin de la votre …) sur un développement Symfony.

Tout d’abord il existe bon nombre d’articles sur le net parlant de l’utilisation de la fameuse Twitter OAuth API qui permet d’interroger Twitter via une application Twitter. Je ne vais pas réinventer la roue et je vous met quelques articles très sympa à la suite de ce tutorial. Je passerais donc rapidement sur les premières étapes.

1 / Créer votre application Twitter

Par cela allez dans votre espace Twitter et créer votre application :

  • Connexion à votre compte
  • Cliquez en haut a droite sur « My Applications »
  • Cliquez ensuite sur « Create an application »
Application Twitter symfony
La création d'une application Twitter
  • Remplissez les infos necessaires
  • Une fois terminé, récupérez les api_key et api_secret

2 / Intégrez la librairie à Symfony

Comme vous le savez, Symfony inclus d’office les classes du répertoire /lib/, nous allons donc mettre notre librairie Twitter OAuth dans ce répertoire.

  • Téléchargez l’archive de TwitterOAuth
  • Décompressez le ZIP ou le TAR ou vous le désirez et ouvrez le répertoire
  • N’ayez pas peur, nous allons nous servir uniquement des fichiers oauth.php et twitteroauth.php. Placez donc ces fichiers dans le repertoire lib/
  • C’est tout ! la librairie est prête à être utilisée

3/ Créez votre composant Symfony

Nous allons maintenant créer un box qui affichera la TimeLine grâce à un composant Symfony. Nous l’appellerons twitterFeed.

  • Créez le composant dans votre répertoire action
class contentComponents extends sfComponents {   public function executeTwitterFeed()   { 	if(isset($this--->keyword) && !empty($this->keyword)){
		//put the search here for futur
	}else{
		$connection = new TwitterOAuth(sfConfig::get('app_twitter_key'), sfConfig::get('app_twitter_secret'));
		$tweets = $connection->get('statuses/user_timeline', array('screen_name' => 'twitter'));
		if(!empty($tweets->error))
			print "
".$tweets->error."
"; else //traitez votre résultat ici en instancian la variable $this->twitter_status //vous pouvez respecter le format original du callback ou alors faire comme moi et modifier } } }
  • Créez le template dans votre répertoire template

4/ Appeler votre composant twitterFeed dans Symfony

  • L’intégration est terminée, vous n’avez plus qu’à appeler la méthode include_component(« VOTREMODULE », »twitterFeed ») et le tour est joué !

N’hésitez pas à me faire un retour si vous désirez le code du template et du composant au complet.

Submit a comment