PROJET AUTOBLOG


Tcit

Archivé

source: Tcit

⇐ retour index

L’API Twitter, lorsque la sécurité devient absurde (MAJ)

samedi 17 mai 2014 à 00:30

Je ne sais plus qui se plaignait de la stupidité totale de l’API de Twitter (seb pour shaarli ? mitsu pour twitterbridge ?), mais je le comprends largement à présent. Je voulais juste connecter l’oiseau bleu sur mon instance GNU-Social toute neuve. Comme Steve Jobs ne l’aurait pas dit, il y a un greffon (gratuit ;) ) pour cela, nommé Twitter bridge.

L’activation dans GNU-Social n’est pas spécialement compliquée, et ensuite on a juste besoin d’entrer la consumer key et le consumer secret que Twitter va nous donner.

Allons maintenant sur apps.twitter.com et créons une nouvelle application. On ne pas pleurer sur les termes abherrants des conditions d’utilisation… Morceaux choisis :

You may provide spreadsheet or PDF files or other export functionality via non­-programmatic means, such as using a “save as” button, for up to 100,000 public Tweets and/or User Objects per user per day. Exporting Twitter Content to a datastore as a service or other cloud based service, however, is not permitted.

En gros, si j’ai bien tout compris, vous avez le droit de créer des tableaux et des fichiers PDF à partir des données, mais pas mettre les données reçues dans une base de données ou sur un service basé sur le « cloud » (sic.).

use or access the Twitter API to aggregate, cache (except as part of a Tweet), or store place and other geographic location information contained in Twitter Content.

Je crois avoir vu assez d’applications qui font exactement cela. Et puis faut assumer, tu demandes aux utilisateurs leur position en permanence, faut bien que ça serve.

Dans le cas où l’on veut créer une sorte de clone de Twitter, c’est à dire : some Services or applications attempt to replicate Twitter’s core user experience, typically by accessing the home timeline, account settings, or direct messages API endpoints or User Streams product.

Et bien sachez que :

not use Twitter Content or other data collected from end users to create or maintain a separate status update or social network database or service.

Donc ce que je cherche à faire ne rentre pas dans leurs termes de service. Cool, parce que je commence à en avoir marre.

Bref, on finit par accepter quoiqu’il en soit, puis on a enfin accès aux clés et aux paramètres de l’application. Et c’est là que ça devient intéressant.

Voyez-vous, pour que votre application ait les droits d’écriture, il faut désormais que votre téléphone soit, à des fins de sécurité « ajouté à Twitter ». Bon, avant y avait pas cette préoccupation, mais maintenant on veut ton portable, mec !

Message qui ne se donne pas la peine d'être traduit en français, sympa.

Message qui ne se donne pas la peine d’être traduit en français, sympa.

Bon, OK, ils veulent faire comme Google, une authentification en 2 étapes à l’aide d’un code envoyé sur téléphone, entendu, allons voir ça.

On revient sur une page de paramètres de Twitter « classique », on entre son numéro de portable, et…

Twitter Phone

Attendez, mais je croyais que vous alliez m’envoyer un SMS, de quoi parlez-vous au juste ? Et pourquoi il y a des connexions avec des opérateurs au Rwanda et PAS en France ?! On est à ce point-là à la pointe de la technologie ?

Bon. On se calme et on tente de comprendre que sont les codes longs dont ils nous parlent… L’argot de Shakespeare ayant encore été mis au profit de la langue de Molière, voila ce que ça donne :

twitter_longcodeDonc, pour que Twitter vérifie mon numéro de téléphone, il faut que j’envoie des SMS à des numéros à l’étranger, sérieusement ? Et apparemment, on ne parle pas d’un ou de deux SMS envoyés, mais plutôt d’une dizaine. Le message est très ironique lorsqu’il annonce :

Note: For these reasons, we do not recommend features such as login verification for long code users, as the experience may be less than optimal.

Bah fallait pas m’envoyer là alors, patate.

Et la meilleure partie, c’est que Twitter ne renvoie PAS de réponse à tes SMS lorsque tu les envoies. Tu dois attendre 2/3 minutes entre chaque commande envoyée pour être sur qu’il ait bien compris.

Ce truc était prise de tête à un point. J’espère tout de même qu’il y a moyen de passer outre tout cela juste en téléchargeant l’application officielle, chose que je ne ferai pas. Mais sinon, faut pas s’étonner que ce truc soit en perte de vitesse.

 

EDIT : Progi1984 explique qu’il faut remplir un formulaire.

 

Allez, vous pourrez me retrouver sur Diaspora*, GNU-Social ou Movim, mais l’âge d’or de Twitter est passé, en tout cas pour moi.

flattr this!