Comment tweeter en utilisant le terminal?


8

Je voudrais tweeter un message en utilisant le terminal.

J'ai essayé quelque chose comme:

curl -u 'TwitterUsername':'TwitterPassword' -d status=”Your Message Here https://twitter.com/statuses/update.xml

mais il semble que cela ne fonctionne plus.

Je reçois une erreur comme celle-ci:

<?xml version="1.0" encoding="UTF-8"?>
    <errors>
    <error code="53">Basic authentication is not supported</error>
</errors>

Alors, comment pourrions-nous tweeter depuis le terminal?

PS: ma motivation est que j'utilise beaucoup le terminal Yakuake, et ce serait génial de tweeter à partir de là.

Réponses:


10

Ce message d'erreur est dû au fait que Twitter a besoin d'OAuth pour l'authentification . Jetez un œil à TTYtter si cela ne vous dérange pas une application Perl:

Noooo, pas un autre client Twitter! Oui, un autre client Twitter. La différence ici est que vous avez affaire à un client de ligne de commande Perl multifonctionnel entièrement en texte.

  • En mode interactif, il s'agit d'un client entièrement interactif avec des mises à jour et des commandes en arrière-plan asynchrones. Utilisez-le sur telnet, ssh ou même sur un terminal factice. Prend en charge l'API Streaming, la couleur ANSI, UTF-8, les hashtags et la recherche Twitter!
  • Fonctionne dans votre environnement préféré: utilisez une bibliothèque readline compatible (comme notre propre Term :: ReadLine :: TTYtter sur mesure), ou modifiez les méthodes d'invite et d'entrée pour de nombreux gestionnaires de fenêtres et de sessions populaires. Ou ne le faites pas: fonctionnalités de base d'édition et de gestion d'écran intégrées.
  • À partir de la ligne de commande, utilisez-le pour mettre à jour votre Twitter dans des scripts shell, à partir de cron, etc.
  • Sécurité: prend en charge Twitter OAuth et l'authentification de base HTTP, ainsi que SSL lorsque cela est pris en charge par votre agent utilisateur.
  • Prise en charge des notifications avec Growl et libnotify (et extensible à d'autres via l'API).
  • Prise en charge de la géolocalisation: remettez vos coordonnées GPS à TTYtter pour toute application.
  • Prise en charge des listes, y compris la création et la modification rapides, et la fusion de listes avec votre chronologie en tant que «chronologies personnalisées».
  • Prend en charge les API similaires à Twitter telles que StatusNet et Identi.ca.
  • Prend en charge les chronologies standard et récupère automatiquement les messages directs, et éventuellement répond / mentionne, et exécute des requêtes sur l'API de recherche et les intègre également dans votre chronologie.
  • Nouveau et ancien support de re-tweet.
  • Écrivez et utilisez vos propres extensions personnalisées!
  • Exécutez détaché en mode -daemon et créez votre propre bot Twitter!

TTYtter est obsolète. Le développement se poursuit désormais dans la fourche, oysttyer .


2
+1 pour TTYtter. Je ne suis pas un grand fan de Twitter, mais c'est certainement l'un des meilleurs clients. Le plugin Irssi n'est pas si génial que TTYtter.
polemon

6

Essayer T . Très puissant, facile à utiliser et écrit en Ruby.

Par exemple, vous pouvez tweeter directement depuis le terminal, en exécutant:

t update "I'm tweeting from the command line."

5

Mise à jour 2016

Il existe un projet appelé Twurl - une boucle compatible OAuth pour l'API Twitter:

Twurl est comme curl, mais spécialement conçu pour l'API Twitter. Il sait comment accorder un jeton d'accès à une application cliente pour un utilisateur spécifié, puis signer toutes les demandes avec ce jeton d'accès.

Il offre également d'autres fonctionnalités de développement et de débogage, telles que la définition d'alias pour les demandes courantes, ainsi que la prise en charge de jetons d'accès multiples pour basculer facilement entre différentes applications clientes et comptes Twitter.

Au lieu de cela de la question:

curl -d status="Your Message Here" https://twitter.com/statuses/update.xml

vous utilisez quelque chose comme ça:

twurl -d status="Your Message Here" /1.1/statuses/update.json

après vous être d'abord autorisé, comme expliqué dans le fichier Lisez - moi .

(notez que vous n'avez pas à utiliser le protocole et le nom d'hôte dans l'URL comme vous le feriez avec curl)

Ce programme a été à l'origine écrit par Marcel Molina qui travaillait à l'époque sur Twitter et c'est maintenant un projet Twitter officiel sur GitHub.

Beaucoup de gens demandent spécifiquement comment utiliser curl pour utiliser l'API Twitter et twurl est probablement le plus proche de curl comme vous pouvez l'obtenir aujourd'hui.


2

Essayez twidge.

sudo apt install twidge
twidge setup
twidge update "Trying tweeting from linux command line - twidge."

1
Pour info la version de twidge dans les dépôts plus anciens (Debian Wheezy) utilise l'API Twitter v1 désormais obsolète. La nouvelle version de twidge fonctionne bien cependant.
cherdt

1

Jetez un œil à Rainbow Stream - intelligent / beau et écrit en Python. Il fournit une coquille arc-en-ciel qui peut commencer par

$ rainbowstream

et à l'intérieur de l'application, la mise à jour d'un statut est assez simple avec

[@yourTwitterName]: t tweeting from #rainbowstream

Logiciels intéressants. Mais pourriez-vous donner un exemple de la façon de tweeter directement depuis la console? Puisque la question concerne le tweet directement depuis la console.
Raphael Ahrens

1

J'ai créé un client Twitter qui peut tweeter à partir de la ligne de commande, comme mentionné dans Software Recommendations .

Pour tweeter un message

java -jar EmailTweetor.jar tweet hello.txt

ou

echo "Hello" | java -jar EmailTweetor.jar tweet

Pour tweeter avec une image:

java -jar EmailTweetor.jar tweet hello.txt image.jpg

EmailTweetor pour ordinateur de bureau

L'ordinateur sur lequel la commande est lancée devra avoir OpenJDK ou Oracle Java v1.8 ou version ultérieure. Le JAR a également besoin d'une autorisation unique avec Twitter.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.