Wie kann ich mit dem Terminal twittern?

8

Ich möchte eine Nachricht über das Terminal twittern.

Ich habe so etwas versucht wie:

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

aber anscheinend funktioniert das nicht mehr.

Ich erhalte einen Fehler wie diesen:

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

Wie können wir also vom Terminal aus twittern?

PS.: Meine Motivation dafür ist, dass ich das Yakuake-Terminal häufig benutze und es fantastisch wäre, von dort aus zu twittern.

GarouDan
quelle

Antworten:

10

Diese Fehlermeldung ist darauf zurückzuführen, dass Twitter zur Authentifizierung OAuth benötigt . Werfen Sie einen Blick auf ttytter , wenn Sie nicht ein Perl - App ausmacht:

Nein, kein anderer Twitter-Client! Ja, ein anderer Twitter-Client. Der Unterschied besteht darin, dass es sich um einen multifunktionalen Perl-Befehlszeilenclient mit 100% Text handelt.

  • Im interaktiven Modus handelt es sich um einen vollständig interaktiven Client mit asynchronen Hintergrundaktualisierungen und Befehlen. Verwenden Sie es über Telnet, SSH oder sogar ein Dummy-Terminal. Unterstützt Streaming API, ANSI Farbe, UTF-8, Hashtags und Twitter Search!
  • Funktioniert in Ihrer bevorzugten Umgebung: Verwenden Sie eine kompatible Readline-Bibliothek (wie unseren eigenen maßgeschneiderten Term :: ReadLine :: TTYtter) oder ändern Sie Eingabeaufforderungs- und Eingabemethoden für viele gängige Fenster- und Sitzungsmanager. Oder nicht: Grundlegende Funktionen für die Bearbeitung und Bildschirmverwaltung.
  • Verwenden Sie es über die Befehlszeile, um Ihr Twitter in Shell-Skripten, von cron usw. zu aktualisieren.
  • Sicherheit: Unterstützt die Twitter OAuth- und HTTP Basic-Authentifizierung sowie SSL, sofern dies von Ihrem Benutzeragenten unterstützt wird.
  • Benachrichtigungsunterstützung mit Growl und libnotify (und über die API auf andere erweiterbar).
  • Geolocation-Unterstützung: Geben Sie Ihre GPS-Koordinaten für jede Anwendung an TTYtter weiter.
  • Unterstützt Listen, einschließlich schneller Erstellung und Änderung, und Zusammenführen von Listen mit Ihrer Zeitleiste als "benutzerdefinierte Zeitleisten".
  • Unterstützt Twitter-ähnliche APIs wie StatusNet und Identi.ca.
  • Unterstützt Standardzeitleisten und ruft automatisch Direktnachrichten ab und antwortet / erwähnt optional und führt Abfragen für die Such-API aus und integriert sie auch in Ihre Zeitleiste.
  • Neue und alte Re-Tweet-Unterstützung.
  • Schreiben und verwenden Sie Ihre eigenen benutzerdefinierten Erweiterungen!
  • Führen Sie losgelöst im -daemon-Modus aus und erstellen Sie Ihren eigenen Twitter-Bot!

TTYtter ist veraltet. Die Entwicklung geht jetzt in der Gabel weiter, Oysttyer .

Renan
quelle
2
+1 für TTYtter. Ich bin kein großer Fan von Twitter, aber es ist definitiv einer der besseren Kunden. Das Irssi-Plugin ist im Vergleich zu TTYtter nicht so toll.
Polemon
6

Versuchen Sie T . Sehr leistungsfähig, einfach zu bedienen und in Ruby geschrieben.

Sie können beispielsweise direkt vom Terminal aus twittern, indem Sie Folgendes ausführen:

t update "I'm tweeting from the command line."
Alex Chamberlain
quelle
5

Update 2016

Es gibt ein Projekt namens Twurl - eine OAuth-fähige Locke für die Twitter-API:

Twurl ist wie Curl, aber speziell auf die Twitter-API zugeschnitten. Es weiß, wie man einer Clientanwendung für einen bestimmten Benutzer ein Zugriffstoken gewährt und dann alle Anforderungen mit diesem Zugriffstoken signiert.

Es bietet auch andere Entwicklungs- und Debugging-Funktionen wie das Definieren von Aliasen für allgemeine Anforderungen sowie die Unterstützung von Token mit mehreren Zugriffsmöglichkeiten, um auf einfache Weise zwischen verschiedenen Clientanwendungen und Twitter-Konten wechseln zu können.

Stattdessen aus der Frage:

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

Sie verwenden so etwas:

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

nachdem Sie sich zuerst autorisiert haben, wie in der Readme-Datei erläutert .

(Beachten Sie, dass Sie das Protokoll und den Hostnamen in der URL nicht wie bei Curl verwenden müssen.)

Dieses Programm wurde ursprünglich von Marcel Molina geschrieben, der zu dieser Zeit bei Twitter arbeitete, und es ist jetzt ein offizielles Twitter-Projekt auf GitHub.

Viele Leute fragen speziell, wie man Curl verwendet, um die Twitter-API zu verwenden, und Twurl ist wahrscheinlich dem Curl am nächsten, wie man es heute bekommen kann.

rsp
quelle
2

Versuchen Sie es twidge.

sudo apt install twidge
twidge setup
twidge update "Trying tweeting from linux command line - twidge."
Ondra Žižka
quelle
1
Zu Ihrer Information, die Version von Twidge in älteren Repos (Debian Wheezy) verwendet die mittlerweile veraltete Twitter-API v1. Die neue Version von Twidge funktioniert jedoch gut.
cherdt
1

Schauen Sie sich Rainbow Stream an - intelligent / schön und in Python geschrieben. Es bietet eine Regenbogenschale, die beginnen kann

$ rainbowstream

In der App ist das Aktualisieren eines Status ganz einfach

[@yourTwitterName]: t tweeting from #rainbowstream
DTVD
quelle
Interessante Software. Aber könnten Sie ein Beispiel geben, wie Sie direkt von der Konsole aus twittern können? Da geht es um das Twittern direkt von der Konsole.
Raphael Ahrens
1

Ich habe einen Twitter-Client erstellt, der über die Befehlszeile twittern kann, wie unter Softwareempfehlungen erwähnt .

Eine Nachricht twittern

java -jar EmailTweetor.jar tweet hello.txt

oder

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

Mit einem Bild twittern:

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

EmailTweetor für Desktop

Der Computer, auf dem der Befehl gestartet wird, muss über OpenJDK oder Oracle Java v1.8 oder höher verfügen. Die JAR benötigt auch eine einmalige Autorisierung bei Twitter.

Die Somberi
quelle