Créer une Application Twitter pour utiliser dans SPIP

Depuis le 9 juin 2013, il n’est plus possible d’accéder à l’API Twitter sans authentification. Cela passe par la création d’une Application Twitter qui disposera de ses clés secrètes pour accèder à l’API Twitter.

EDIT : il faut maintenant en plus avoir un compte Twitter « Developpeur » (je ne sais pas quelles sont les implications, les anciennes apps pouvant encore être gérées avec un compte normal)

Voici les étapes détaillées de la création de l’Application et de la configuration pour le plugin Twitter.

Créer une Application sur Twitter

Vous devez tout d’abord créer une nouvelle application.

Soyez certain d’être connecté pour cela avec votre compte Twitter qui sera le propriétaire de l’application (ce qui ne préjuge pas du compte Twitter que vous utiliserez ensuite pour Twitter).

Renseignez bien le nom, descriptif, l’url de votre site, ainsi qu’une URL de Callback qui correspond à l’URL ecrire de votre site : http://www.example.org/ecrire/ ou https://www.example.org/ecrire/ si votre site utilise https.

Si l’URL de callback n’est pas correcte, vous aurez une erreur « Forbiden »

Par défaut, l’application n’a le droit que de lire les Tweets de votre timeline et des autres utilisateurs. Cela suffit si vous voulez juste afficher une timeline sur votre site.

Vous devez aussi décrire à quoi va servir votre app en au moins 100 caractères. Pour info quelque chose comme ça semble convenir :

App is used by the website to send a tweet when publishing a new post, announcing the new post. It can also be used to send manually a tweet by the editorial team of the website.

Si vous souhaitez aussi envoyer des Tweets depuis votre site SPIP, il faut modifier les droits en allant dans l’onglet Settings et cocher le choix Read and Write de Application Type pour lui donner le droit de poster des nouveaux messages.

Une fois que vous avez validé, il faut vérifier que Twitter a bien générer des Access Token (jetons) pour permettre d’utiliser l’API. Dans l’onglet API Keys vérifiez la présence de ces Access Token ou générez les à l’aide du bouton à cet effet.

Vous pouvez alors récupérer le API key et le API secret de votre application et les renseigner dans le formulaire de configuration du plugin Twitter :

Enregistrez la configuration, puis cliquez sur le bouton Ajouter un compte Twitter qui apparait alors :

Vous arrivez sur une page qui vous demande « Autoriser le nom de votre application à utiliser votre compte ». Identifiez-vous si nécessaire, puis cliquez sur le bouton « Autoriser l’application ».

Vous revenez normalement sur la page de configuration du plugin Twitter, et le compte que vous venez d’ajouter est maintenant affiché :

Un compte Twitter pour essayer tout ça sans risque

Pour tester le bon fonctionnement du plugin vous pouvez utiliser le compte d’identifiant spipotest / passe spipotest1.
Les notifications seront visibles sur http://twitter.com/spipotest, par exemple : une notification d’envoi de forum ou le passage d’un article en mode proposé à la publication et le passage en statut publié de cet article

Pourquoi c’est si compliqué ?

Quand vous utilisez un service qui se connecte sur Twitter, d’habitude vous n’avez pas besoin de créer une Application Twitter avec toutes ces clés secrètes compliquées. Vous avez juste à autoriser le service à utiliser votre compte.

Pourquoi on ne peut pas faire aussi simple ?

La réponse politique simple : parce que Twitter fait tout pour freiner/bloquer l’utilisation de sa plateforme par des applications externes pour vous forcer à utiliser son site web ou son application et voir les publicités qu’ils diffusent.

La réponse technique détaillée et compliquée :
Parce que le plugin Twitter pour SPIP est distribué en Open Source : tout son code est visible par tout le monde. Comme Twitter n’accepte pas qu’on divulgue les clés secrètes d’une Application, on ne peut pas les intégrer dans le plugin Twitter.

Évidemment, un service ou un logiciel propriétaire n’a pas ce problème !
Il n’y a donc pas d’autre solution pour vous que de créer vos propres clés et de les configurer une fois pour toute dans le plugin.

Vous pouvez utiliser la même application avec les mêmes clés pour plusieurs sites, cela ne pose aucun problème. Gardez simplement les clés secrètes pour vous !
Vous retrouverez vos applications déjà existantes à l’adresse https://developer.twitter.com/en/apps/

Apercu de la configuration requise en 2021

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom