Kommandozeile (CLI)

CLI-Authentifizierung

Anmeldung im Browser per Device-Flow, oder ein API-Schlüssel in einer Umgebungsvariablen.

Welche Methode

SituationMethode
Eigener Rechner mit Browser.posty auth:login
Server, Container, geplanter Lauf, CI.POSTY_API_KEY Umgebungsvariable

Anmeldung im Browser

posty auth:login

Der Befehl öffnet einen Browser. Dort gibst du den Zugriff mit einem Code frei. Die CLI speichert die Zugangsdaten danach auf deinem Rechner. Deshalb musst du sie nicht in deine Skripte schreiben, und sie landen nicht im Befehlsverlauf.

Die Freigabeseite öffnet sich auch ohne Anmeldung

Das ist Absicht: Wenn du nicht angemeldet bist, siehst du zuerst, was du freigibst, welches Gerät und welchen Code, und meldest dich erst danach an. Ohne Anmeldung gibt es keine Freigabe.

API-Schlüssel über eine Umgebungsvariable

Wenn kein Browser da ist, setze den API-Schlüssel als Umgebungsvariable. Den Schlüssel erstellst du in Posty unter Automatisierungen → Entwickler. Siehe die Seite Entwicklereinstellungen.

export POSTY_API_KEY=psty_dein_schluessel
posty integrations:list
  • Wenn eine Anmeldung gespeichert ist, hat sie Vorrang vor der Umgebungsvariable.
  • Übergib den Schlüssel aus einem Secret-Manager. Schreib ihn nicht ins Skript und versioniere ihn nicht.
  • Bei geplanten Läufen lohnt es sich, auch die Variable POSTY_TIMEZONE zu setzen, damit die Datumsangaben eindeutig sind.

Status und Abmeldung

posty auth:status   # mit welchem Arbeitsbereich der Rechner verbunden ist
posty auth:logout   # löscht die gespeicherten Zugangsdaten

auth:status gibt den Status nicht nur aus. Es prüft die Zugangsdaten auch mit einem echten Aufruf. Wenn das klappt, ist die Authentifizierung in Ordnung. Jeder weitere Fehler betrifft dann den Befehl selbst.

Arbeitsbereiche

posty workspaces:list        # was der Schlüssel erreicht; "current" ist der aktive
posty workspaces:use <id>    # ab jetzt arbeitet jeder Befehl dort
posty workspaces:current     # in welchem die Befehle gerade arbeiten
posty posts:list --workspace <id>   # ein Befehl in einem anderen Arbeitsbereich

Ein Schlüssel kann einen oder mehrere Arbeitsbereiche erreichen: „Alle meine Arbeitsbereiche“ auf der Freigabeseite gibt die übrigen frei. Kanal-IDs gehören zu einem Arbeitsbereich, deshalb muss die Befehlszeile wissen, welchen du meinst. auth:login fragt nach, wenn der Schlüssel mehrere umfasst; die Wahl wird mit der Anmeldung gespeichert, POSTY_WORKSPACE und --workspace überschreiben sie. Ohne Wahl weist die API einen Mehrfachschlüssel auf jeder Route außer workspaces:list mit 403 ab, sodass nie in einen geratenen Arbeitsbereich gepostet wird.

Eigenes Backend

Standardmäßig verbindet sich die CLI mit dem Dienst posty.hu. Wenn du eine andere Instanz nutzen willst, stellst du das mit der Option --auth-server oder der Variable POSTY_API_URL um.

export POSTY_API_URL=https://sajat-peldany.example/api
posty auth:login --auth-server https://sajat-peldany.example/api
Fehlt etwas auf dieser Seite? Schreib eine E-Mail an [email protected] oder nutze auf der Hilfeseite das Formular.