<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le bloc-note de Tony Mirante &#187; Twitter</title>
	<atom:link href="http://www.le-bloc-note-de-tony-mirante.com/category/twitter/feed" rel="self" type="application/rss+xml" />
	<link>http://www.le-bloc-note-de-tony-mirante.com</link>
	<description>Developpement web, Tutoriaux, jQuery, Ajax, Php, MySQL, web 2.0 et exemples</description>
	<lastBuildDate>Sun, 11 Sep 2011 13:09:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Poster un message sur Twitter via API</title>
		<link>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156</link>
		<comments>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156#comments</comments>
		<pubDate>Tue, 22 Feb 2011 09:16:29 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.le-bloc-note-de-tony-mirante.com/?p=156</guid>
		<description><![CDATA[Bien que je n&#8217;apprécie pas forcément Twitter, il m&#8217;est arrivé d&#8217;en avoir besoin pour mes clients. On va donc voir comment envoyer un tweet via une page php. Depuis le 1er septembre 2010, même pour envoyer un simple tweet,  il est nécessaire de s&#8217;enregistrer auprès de Twitter en déclarant une application. Avant cette date, il]]></description>
			<content:encoded><![CDATA[<p>Bien que je n&#8217;apprécie pas forcément Twitter, il m&#8217;est arrivé d&#8217;en avoir besoin pour mes clients.</p>
<p>On va donc voir comment envoyer un tweet via une page php.</p>
<p><img class="aligncenter size-full wp-image-157" title="twitter-api-envoyer-message" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/twitter-api-envoyer-message.png" alt="" width="470" height="170" /><a href="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/twitter-api-envoyer-message.png"><span id="more-156"></span></a></p>
<p>Depuis le 1er septembre 2010, même pour envoyer un simple tweet,  il est nécessaire de s&#8217;enregistrer auprès de Twitter en déclarant une application.</p>
<p>Avant cette date, il était possible d&#8217;envoyer simplement un tweet avec cURL, qui utilisait une authentification basique.</p>
<p>Il faut maintenant utiliser <a href="http://fr.wikipedia.org/wiki/OAuth" target="_blank">OAuth</a>, qui est beaucoup plus complexe mais pas d&#8217;inquiétude, on va simplifier tout ça.</p>
<p>1/ Connectez-vous sur <a href="http://twitter.com/" target="_blank">Twitter</a>, puis allez sur <a href="http://dev.twitter.com/" target="_blank">http://dev.twitter.com/</a></p>
<p>2/ Cliquez sur “Your Apps” puis “Register a new application”</p>
<p>3/ Remplissez les champs, n&#8217;oubliez pas de cocher <strong>“Read &amp; Write”</strong> au lieu de “Read-only” dans “Default Access type”.</p>
<p>Les autres  informations n&#8217;ont que peu d&#8217;importance, comme “callback url” qui ne  nous servira pas, mettez simplement l&#8217;adresse de votre site web par  exemple.</p>
<p>4/ Une fois l&#8217;application enregistrée, nous obtenons les clefs nécessaires  par la suite : en cliquant sur les détails de votre application, vous  verrez : <strong>Consumer key</strong> et <strong>Consumer secret</strong>.</p>
<p>5/ puis en cliquant sur <strong><em>My access token</em></strong>, vous obtiendrez <strong>Access Token (oauth_token) </strong>et<strong> Access Token Secret (oauth_token_secret)</strong></p>
<p>6/ Gardez ces informations sous le coude, on va en avoir besoin.</p>
<p>Gérer l&#8217;authentification OAuth est assez complexe et il existe des bibliothèques toutes faites en php.</p>
<p>J&#8217;ai choisi <a href="http://github.com/themattharris/tmhOAuth" target="_blank">tmhOAuth</a> de Matt Harris.</p>
<p>Il y a de nombreux exemples pour utiliser cette bibliothèque,  celui qui nous intéresse est celui qui permet d&#8217;envoyer un tweet (<a href="https://github.com/themattharris/tmhOAuth/blob/master/examples/tweet.php" target="_blank">ici</a>).</p>
<p>J&#8217;ai utilisé cet exemple pour créer cette fonction.</p>
<p>Quelques remarques :</p>
<ol>
<li>Renseignez les 4 champs consumer_key, consumer_secret, user_token et user_secret avec les informations obtenues ci-dessus.</li>
<li>Si votre $message est déjà codé en <strong>UTF-8</strong>, remplacez <strong>utf8_encode($message)</strong> par <strong>$message</strong></li>
</ol>
<p>Code php :</p>
<pre class="brush: php; title: ; notranslate">

&lt;?php

/**
 * Envoie un message sur twitter (stat
 * Si le message, une fois encodé en UTF-8, fait plus de 140 caractères, alors il ne sera pas accepté par Twitter.
 *
 * @param $message Message à envoyer à Twitter
 * @return TRUE ou FALSE
 */
function tweet($message) {
 require 'tmhOAuth.php';
 $tmhOAuth = new tmhOAuth(array(
 'consumer_key' =&gt; '',
 'consumer_secret' =&gt; '',
 'user_token' =&gt; '',
 'user_secret' =&gt; '',
 ));

 $tmhOAuth-&gt;request('POST', $tmhOAuth-&gt;url('statuses/update'), array(
 'status' =&gt; utf8_encode($message)
 ));

 if ($tmhOAuth-&gt;response['code'] == 200) {
 // En cours de dév, afficher les informations retournées :
 //  $tmhOAuth-&gt;pr(json_decode($tmhOAuth-&gt;response['response']));
 return TRUE;
 } else {
 // En cours de dév, afficher les informations retournées :
 //  $tmhOAuth-&gt;pr(htmlentities($tmhOAuth-&gt;response['response']));
 return FALSE;
 }
}
?&gt;
</pre>
<p>Bon tweet <img src='http://www.le-bloc-note-de-tony-mirante.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://demo.le-bloc-note-de-tony-mirante.com/api-poster-un-message-sur-twitter/demo.zip"><img class="aligncenter size-full wp-image-60" title="Télécharger" src="http://www.le-bloc-note-de-tony-mirante.com/wp-content/uploads/2011/02/telecharger.png" alt="" width="266" height="78" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.le-bloc-note-de-tony-mirante.com/api-2/poster-un-message-sur-twitter-via-api-156/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

