{"id":1038,"date":"2011-02-06T19:14:28","date_gmt":"2011-02-06T17:14:28","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=1038"},"modified":"2011-02-06T19:14:28","modified_gmt":"2011-02-06T17:14:28","slug":"utiliser-twitter-dans-une-application","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/","title":{"rendered":"Utiliser Twitter dans une application"},"content":{"rendered":"<p>Il est assez facile de cr\u00e9er un petit script ou d&rsquo;inclure dans une application la possibilit\u00e9 d&rsquo;envoyer un message sur Twitter m\u00eame si depuis quelques mois Twitter impose un syst\u00e8me d&rsquo;authentification plus compliqu\u00e9 que la simple identification par identificateur\/mot-de-passe utilis\u00e9e pr\u00e9c\u00e9demment. <em>OAuth<\/em> est un syst\u00e8me d&rsquo;identification qui repose, pour sch\u00e9matiser, sur un syst\u00e8me de clef publique et de clef priv\u00e9e. Il faut que l&rsquo;application qui va utiliser Twitter soit enregistr\u00e9e et autoris\u00e9e par Twitter. De m\u00eame, il faut que le titulaire du compte Twitter, que l&rsquo;application va utiliser, ait donn\u00e9 son autorisation. Ce n&rsquo;est que dans ce cas que l&rsquo;application recevra le <em>token<\/em> n\u00e9cessaire \u00e0 l&rsquo;acc\u00e8s au compte Twitter. <\/p>\n<p>Il existe plusieurs modules python permettant d&rsquo;utiliser Twitter. Par exemple <em>python-tweepy<\/em> ou <em>python-twitter<\/em>. C&rsquo;est ce module-l\u00e0 que je vais utiliser pour l&rsquo;avoir d\u00e9j\u00e0 tester dans le pass\u00e9 lorsque Twitter n&rsquo;utilisait que la simple authentification. Jusqu&rsquo;il y a peu, ce dernier module n&rsquo;\u00e9tait pas compatible <em>OAuth<\/em>. La mise \u00e0 jour vers <em>OAuth<\/em> ayant \u00e9t\u00e9 faite r\u00e9cemment, la version utilisant <em>OAuth<\/em> n&rsquo;est pas encore dans les d\u00e9p\u00f4ts. Il va donc falloir l&rsquo;installer manuellement \u00e0 partir des sources et penser \u00e0 installer dans la foul\u00e9e ses d\u00e9pendances.<\/p>\n<h3>Installation de python-twitter<\/h3>\n<p>Pour fonctionner, <em>python-twitter<\/em> a besoin des paquets suivants: <em>python-simplejson<\/em> et <em>python-httplib2<\/em> qu&rsquo;il suffit d&rsquo;installer de la mani\u00e8re habituelle puisque ces paquets sont dans les d\u00e9p\u00f4ts:<\/p>\n<pre class=\"codesource\">\r\n$ sudo aptitude install python-simplejson python-httplib2\r\n<\/pre>\n<p>Il faut aussi installer <em>python-oauth2<\/em> qui est le module permettant d&rsquo;utiliser ce m\u00e9canisme d&rsquo;authentification et sur lequel repose <em>python-twitter<\/em>. Ce module n&rsquo;est malheureusement pas disponible dans le d\u00e9p\u00f4ts mais il existe n\u00e9anmoins un <em>ppa<\/em> offrant la version voulue:<\/p>\n<pre class=\"codesource\">\r\n$ sudo add-apt-repository ppa:chris-lea\/python-oauth2\r\n$ sudo aptitude update\r\n$ sudo aptitude install python-oauth2\r\n<\/pre>\n<p><em>Python-twitter<\/em> lui-m\u00eame est \u00e0 t\u00e9l\u00e9charger sur le site <a href=\"http:\/\/code.google.com\/p\/python-twitter\/\">http:\/\/code.google.com\/p\/python-twitter\/<\/a>.<br \/>\nLa derni\u00e8re version est la 0.8.1. <\/p>\n<p>D\u00e9compressez et d\u00e9sarchivez le fichier. Rendez-vous dans le r\u00e9pertoire d\u00e9sarchiv\u00e9 puis tapez les commandes suivantes pour installer <em>python-twitter<\/em>:<\/p>\n<pre class=\"codesource\">\r\n$ python setup.py build\r\n$ sudo python setup.py install\r\n<\/pre>\n<p>Vous avez maintenant tous les outils n\u00e9cessaires pour utiliser Twitter depuis une application en python.<\/p>\n<h3>Enregistrer l&rsquo;application sur le site de twitter<\/h3>\n<p>Une des obligations impos\u00e9es par Twitter est d&rsquo;enregistrer son application. Pour cela, vous devez poss\u00e9der un compte Twitter et vous rendre \u00e0 cette adresse: <a href=\"http:\/\/twitter.com\/oauth_clients\">http:\/\/twitter.com\/oauth_clients<\/a>. Remplissez-y le formulaire en faisant attention de bien mettre <em>Client<\/em> dans le champ <em>Application Type<\/em> et mettre le <em>Default Access Type<\/em> en <em>read\/write<\/em> si vous d\u00e9sirez pouvoir envoyer des tweets depuis votre application. En retour, Twitter vous donnera les renseignements suivants qui vous seront n\u00e9cessaires pour la suite:<\/p>\n<pre class=\"codesource\">\r\nAPI key\r\nZst*******************\r\n\r\nConsumer key\r\nZst*******************\r\n\r\nConsumer secret\r\nmiX**************************************\r\n\r\nRequest token URL\r\nhttps:\/\/api.twitter.com\/oauth\/request_token\r\n\r\nAccess token URL\r\nhttps:\/\/api.twitter.com\/oauth\/access_token\r\n\r\nAuthorize URL\r\nhttps:\/\/api.twitter.com\/oauth\/authorize\r\n<\/pre>\n<h3>Obtenir les autorisations n\u00e9cessaires<\/h3>\n<p>La premi\u00e8re fois que l&rsquo;application tente de se connecter \u00e0 un compte Twitter, il faut pr\u00e9alablement  r\u00e9clamer un code PIN \u00e0 l&rsquo;adresse <em>Request Token URL<\/em> re\u00e7ue \u00e0 l&rsquo;\u00e9tape pr\u00e9c\u00e9dente puis avec ce code PIN visiter la page <em>Authorize URL<\/em>. Ce n&rsquo;est qu&rsquo;\u00e0 ce moment qu&rsquo;on peut r\u00e9clamer la <em>Token Key<\/em> et le <em>Token Secret<\/em> via l&rsquo;<em>Access Token URL<\/em> indispensable pour acc\u00e9der au compte Twitter. <\/p>\n<p>Pour cela, j&rsquo;ai \u00e9crit un petit script en python tr\u00e8s largement inspir\u00e9 de celui trouvable \u00e0 cette adresse:<br \/>\n<a href=\"http:\/\/code.google.com\/p\/python-twitter\/source\/browse\/get_access_token.py\">http:\/\/code.google.com\/p\/python-twitter\/source\/browse\/get_access_token.py<\/a><\/p>\n<p>Ce script se connecte \u00e0 l&rsquo;adresse <em>Request token URL<\/em> re\u00e7ue lors de l&rsquo;enregistrement de l&rsquo;application sur le site de Twitter et, en donnant la <em>Consumer key<\/em> et le <em>Consumer Secret<\/em>, on obtient le <em>Request Token Key<\/em> et le <em>Request Token Secret<\/em>. Ces deux <em>tokens<\/em> serviront \u00e0 cr\u00e9er une URL o\u00f9 vous devrez vous rendre pour obtenir un code PIN.<br \/>\nEnfin, ce code PIN, une fois introduit dans le script, vous donnera l&rsquo;<em>Access Token Key<\/em> et l&rsquo;<em>Access Token Secret<\/em> que votre application doit utiliser pour acc\u00e9der au compte Twitter.<br \/>\nOuf! Qui a dit que le m\u00e9canisme d&rsquo;authentification OAuth \u00e9tait compliqu\u00e9 ?<\/p>\n<pre class=\"codesource\">\r\n<span class=\"reservedname\">import<\/span> os\r\n<span class=\"reservedname\">import<\/span> sys\r\n<span class=\"reservedname\">import<\/span> urlparse\r\n<span class=\"reservedname\">import<\/span> oauth\r\n\r\n<span class=\"codecomment\"># Clef et Secret obtenus lors de l'enregistrement de l'application\r\n<\/span>consumer_key = <span class=\"quotedstring\">\"Zs*********************\"<\/span>\r\nconsumer_secret = <span class=\"quotedstring\">\"miX*************************************\"<\/span>\r\n\r\noauth_consumer = oauth2.Consumer(key=consumer_key, secret=consumer_secret)\r\noauth_client = oauth2.Client(oauth_consumer)\r\n\r\nresp, content = oauth_client.request(<span class=\"quotedstring\">\"https:\/\/api.twitter.com\/oauth\/request_token\"<\/span>, <span class=\"quotedstring\">'POST'<\/span>)\r\n<span class=\"reservedname\">if<\/span> resp[<span class=\"quotedstring\">'status'<\/span>] != <span class=\"quotedstring\">'200'<\/span>:\r\n  <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'Invalid response from Twitter requesting temp token: %s'<\/span> % resp[<span class=\"quotedstring\">'status'<\/span>]\r\n<span class=\"reservedname\">else<\/span>:\r\n  request_token = dict(urlparse.parse_qsl(content))\r\n\r\n  <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'Please visit'<\/span>\r\n  <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'%s?oauth_token=%s'<\/span> % (<span class=\"quotedstring\">\"https:\/\/api.twitter.com\/oauth\/authorize\"<\/span>, request_token[<span class=\"quotedstring\">'oauth_token'<\/span>])\r\n\r\n  <span class=\"codecomment\"># A ce stade, vous devez visiter le site \u00e0 l'adresse indiqu\u00e9e pour recevoir le code PIN\r\n<\/span>  <span class=\"codecomment\"># n\u00e9cessaire au stade suivant.   \r\n<\/span>  pincode = raw_input(<span class=\"quotedstring\">'Pincode? '<\/span>)\r\n  token = oauth.Token(request_token[<span class=\"quotedstring\">'oauth_token'<\/span>], request_token[<span class=\"quotedstring\">'oauth_token_secret'<\/span>])\r\n  token.set_verifier(pincode)\r\n  \r\n  oauth_client  = oauth.Client(oauth_consumer, token)\r\n  resp, content = oauth_client.request(<span class=\"quotedstring\">'https:\/\/api.twitter.com\/oauth\/access_token'<\/span>, method=<span class=\"quotedstring\">'POST'<\/span>, body=<span class=\"quotedstring\">'oauth_verifier=%s'<\/span> % pincode)\r\n  access_token  = dict(urlparse.parse_qsl(content))\r\n \r\n  <span class=\"codecomment\"># Avec le code pin que vous avez introduit, Twitter vous donne un Access Token Key et\r\n<\/span>  <span class=\"codecomment\"># un Access Token Secret qui devront \u00eatre utiliser dans python-twitter. \r\n<\/span>  <span class=\"reservedname\">if<\/span> resp[<span class=\"quotedstring\">'status'<\/span>] != <span class=\"quotedstring\">'200'<\/span>:\r\n    <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'The request for a Token did not succeed: %s'<\/span> % resp[<span class=\"quotedstring\">'status'<\/span>]\r\n    <span class=\"reservedname\">print<\/span> access_token\r\n  <span class=\"reservedname\">else<\/span>:\r\n    <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'Your Twitter Access Token key: %s'<\/span> % access_token[<span class=\"quotedstring\">'oauth_token'<\/span>]\r\n    <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'          Access Token secret: %s'<\/span> % access_token[<span class=\"quotedstring\">'oauth_token_secret'<\/span>]\r\n<\/pre>\n<p>Voici ce qui doit appara\u00eetre dans le terminal au lancement du script:<\/p>\n<pre class=\"codesource\">\r\nPlease visit\r\nhttps:\/\/api.twitter.com\/oauth\/authorize?oauth_token=fQb*************************************\r\n\r\nPincode? 0595314\r\nYour Twitter Access Token key: 24*******-0gd**************************************\r\n          Access Token secret: 1uX*********************************************\r\n<\/pre>\n<h3>Envoyer un message sur Twitter<\/h3>\n<p>Maintenant qu&rsquo;on poss\u00e8de toutes les autorisations n\u00e9cessaires, on peut tweeter un message en utilisant <em>python-twitter<\/em>. Le code, ci-dessous, utilise la <em>Consumer Key<\/em>, le <em>Consumer Secret<\/em>, l&rsquo;<em>Access Token Key<\/em> et l&rsquo;<em>Access Token Secret<\/em> pour se connecter \u00e0 Twitter via la classe <em>Api<\/em> du module. On v\u00e9rifie, avec <em>VerifyCredentials()<\/em> que l&rsquo;on dispose bien des droits indispensables et ensuite on envoie notre tweet sur le compte avec <em>PostUpdate()<\/em>.<\/p>\n<pre class=\"codesource\">\r\n<span class=\"reservedname\">import<\/span> twitter\r\n\r\nconsumer_key = <span class=\"quotedstring\">\"Zst*******************\"<\/span>\r\nconsumer_secret = <span class=\"quotedstring\">\"miX***************************************\"<\/span>\r\naccess_token_key = <span class=\"quotedstring\">\"241******-0gd*************************************\"<\/span>\r\naccess_token_secret = <span class=\"quotedstring\">\"1uX**************************************\"<\/span>\r\n\r\napi = twitter.Api(consumer_key, consumer_secret, access_token_key, access_token_secret)\r\nresp = api.VerifyCredentials()\r\n<span class=\"reservedname\">if<\/span> resp == None:\r\n  <span class=\"reservedname\">print<\/span> <span class=\"quotedstring\">'Error verifying credentials'<\/span>\r\n<span class=\"reservedname\">else<\/span>:\r\n  resp = api.PostUpdate(<span class=\"quotedstring\">'My first twitter message using python'<\/span>)\r\n<\/pre>\n<p>La classe <em>Api<\/em> du module <em>python-twitter<\/em> permet bien s\u00fbr de faire bien plus que simplement envoyer un simple tweet. Vous pouvez lire la timeline du compte, g\u00e9rer vos abonnements et vos abonn\u00e9s, cr\u00e9er des listes etc&#8230; Pour connaitre toutes les possibilit\u00e9s, tapez:<\/p>\n<pre class=\"codesource\">\r\n$ pydoc twitter.Api\r\n<\/pre>\n<p><em>pydoc<\/em> affichera, \u00e0 l&rsquo;instar des pages de <em>man<\/em>, toutes les fonctions et la doc relative \u00e0 la classe <em>Api<\/em> de <em>python-twitter<\/em>.<\/p>\n<h3>R\u00e9f\u00e9rences<\/h3>\n<p><a href=\"http:\/\/code.google.com\/p\/python-twitter\/\">http:\/\/code.google.com\/p\/python-twitter\/<\/a><br \/>\n<a href=\"http:\/\/dev.twitter.com\/doc\">http:\/\/dev.twitter.com\/doc<\/a><br \/>\n<a href=\"http:\/\/code.google.com\/p\/python-twitter\/source\/browse\/get_access_token.py\">http:\/\/code.google.com\/p\/python-twitter\/source\/browse\/get_access_token.py<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il est assez facile de cr\u00e9er un petit script ou d&rsquo;inclure dans une application la possibilit\u00e9 d&rsquo;envoyer un message sur Twitter m\u00eame si depuis quelques mois Twitter impose un syst\u00e8me d&rsquo;authentification plus compliqu\u00e9 que la simple identification par identificateur\/mot-de-passe utilis\u00e9e pr\u00e9c\u00e9demment. OAuth est un syst\u00e8me d&rsquo;identification qui repose, pour sch\u00e9matiser, sur un syst\u00e8me de clef [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,5],"tags":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Envoyer un tweet depuis une application en utilisant python\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Michel Leunen\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Autour de Linux | Ubuntu, linux, C++, audio, python, ...\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Utiliser Twitter dans une application | Autour de Linux\" \/>\n\t\t<meta property=\"og:description\" content=\"Envoyer un tweet depuis une application en utilisant python\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-02-06T17:14:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-02-06T17:14:28+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Utiliser Twitter dans une application | Autour de Linux\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Envoyer un tweet depuis une application en utilisant python\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#article\",\"name\":\"Utiliser Twitter dans une application | Autour de Linux\",\"headline\":\"Utiliser Twitter dans une application\",\"author\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\"},\"datePublished\":\"2011-02-06T19:14:28+02:00\",\"dateModified\":\"2011-02-06T19:14:28+02:00\",\"inLanguage\":\"fr-FR\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#webpage\"},\"articleSection\":\"python, Ubuntu\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.leunen.com\\\/linux\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/ubuntu\\\/#listItem\",\"name\":\"Ubuntu\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/ubuntu\\\/#listItem\",\"position\":2,\"name\":\"Ubuntu\",\"item\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/ubuntu\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#listItem\",\"name\":\"Utiliser Twitter dans une application\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#listItem\",\"position\":3,\"name\":\"Utiliser Twitter dans une application\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/category\\\/ubuntu\\\/#listItem\",\"name\":\"Ubuntu\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\",\"name\":\"Autour de Linux\",\"description\":\"Ubuntu, linux, C++, audio, python, ...\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/\",\"name\":\"Michel Leunen\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/41e08d5087493eaa9ce4ebd4e0a55ffb?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Michel Leunen\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#webpage\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/\",\"name\":\"Utiliser Twitter dans une application | Autour de Linux\",\"description\":\"Envoyer un tweet depuis une application en utilisant python\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/2011\\\/02\\\/utiliser-twitter-dans-une-application\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/author\\\/michel-leunen\\\/#author\"},\"datePublished\":\"2011-02-06T19:14:28+02:00\",\"dateModified\":\"2011-02-06T19:14:28+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#website\",\"url\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/\",\"name\":\"Autour de Linux\",\"description\":\"Ubuntu, linux, C++, audio, python, ...\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.leunen.com\\\/linux\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Utiliser Twitter dans une application | Autour de Linux","description":"Envoyer un tweet depuis une application en utilisant python","canonical_url":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#article","name":"Utiliser Twitter dans une application | Autour de Linux","headline":"Utiliser Twitter dans une application","author":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"publisher":{"@id":"https:\/\/www.leunen.com\/linux\/#organization"},"datePublished":"2011-02-06T19:14:28+02:00","dateModified":"2011-02-06T19:14:28+02:00","inLanguage":"fr-FR","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#webpage"},"isPartOf":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#webpage"},"articleSection":"python, Ubuntu"},{"@type":"BreadcrumbList","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux#listItem","position":1,"name":"Home","item":"https:\/\/www.leunen.com\/linux","nextItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/#listItem","name":"Ubuntu"}},{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/#listItem","position":2,"name":"Ubuntu","item":"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#listItem","name":"Utiliser Twitter dans une application"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#listItem","position":3,"name":"Utiliser Twitter dans une application","previousItem":{"@type":"ListItem","@id":"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/#listItem","name":"Ubuntu"}}]},{"@type":"Organization","@id":"https:\/\/www.leunen.com\/linux\/#organization","name":"Autour de Linux","description":"Ubuntu, linux, C++, audio, python, ...","url":"https:\/\/www.leunen.com\/linux\/"},{"@type":"Person","@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author","url":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/","name":"Michel Leunen","image":{"@type":"ImageObject","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/41e08d5087493eaa9ce4ebd4e0a55ffb?s=96&d=mm&r=g","width":96,"height":96,"caption":"Michel Leunen"}},{"@type":"WebPage","@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#webpage","url":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/","name":"Utiliser Twitter dans une application | Autour de Linux","description":"Envoyer un tweet depuis une application en utilisant python","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/www.leunen.com\/linux\/#website"},"breadcrumb":{"@id":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/#breadcrumblist"},"author":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"creator":{"@id":"https:\/\/www.leunen.com\/linux\/author\/michel-leunen\/#author"},"datePublished":"2011-02-06T19:14:28+02:00","dateModified":"2011-02-06T19:14:28+02:00"},{"@type":"WebSite","@id":"https:\/\/www.leunen.com\/linux\/#website","url":"https:\/\/www.leunen.com\/linux\/","name":"Autour de Linux","description":"Ubuntu, linux, C++, audio, python, ...","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/www.leunen.com\/linux\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"Autour de Linux | Ubuntu, linux, C++, audio, python, ...","og:type":"article","og:title":"Utiliser Twitter dans une application | Autour de Linux","og:description":"Envoyer un tweet depuis une application en utilisant python","og:url":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/","article:published_time":"2011-02-06T17:14:28+00:00","article:modified_time":"2011-02-06T17:14:28+00:00","twitter:card":"summary","twitter:title":"Utiliser Twitter dans une application | Autour de Linux","twitter:description":"Envoyer un tweet depuis une application en utilisant python"},"aioseo_meta_data":{"post_id":"1038","title":"Utiliser Twitter dans une application | #site_title","description":"Envoyer un tweet depuis une application en utilisant python","keywords":[{"label":"python-twitter,tweepy,OAuth,token,twitter,tweet,api,pydoc","value":"python-twitter,tweepy,OAuth,token,twitter,tweet,api,pydoc"}],"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-21 07:19:17","updated":"2025-06-23 21:07:26","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.leunen.com\/linux\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/\" title=\"Ubuntu\">Ubuntu<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUtiliser Twitter dans une application\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.leunen.com\/linux"},{"label":"Ubuntu","link":"https:\/\/www.leunen.com\/linux\/category\/ubuntu\/"},{"label":"Utiliser Twitter dans une application","link":"https:\/\/www.leunen.com\/linux\/2011\/02\/utiliser-twitter-dans-une-application\/"}],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1038"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=1038"}],"version-history":[{"count":4,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1038\/revisions"}],"predecessor-version":[{"id":1042,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/1038\/revisions\/1042"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=1038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=1038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=1038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}