API Bearer Token generieren und dann weiterverwenden

Hallo @Synesty,

ich habe eine technische Frage zu den API Verbindungen.

Ich muss wie bei Plentymarkets mittels eines API Calls einen Bearer Token abfragen und anschließend diesen für die restlichen Calls verwenden.

In euren HTTP Verbindungen kann ich aber bei Bearer nur direkt den Bearer Token speichern. Der läuft aber regelmäßig ab und muss somit neu gespeichert werden.

Die restlichen Typen funktionieren leider nicht, da ich nicht entscheiden kann was im Body bzw. als Header (mehrere Header-Zeilen) übergeben wird.

Jetzt bin ich etwas aufgeschmissen und habe den Call erstmal direkt im Flow gebaut und kriege dort auch den Bearer Token raus. Diesen muss ich aber irgendwie global speichern und anschließend in den SpreadsheetUrlDownload integrieren.

Habt ihr eine Idee?

Viele Grüße,
René

Hallo @reneno-reneno ,

für plentymarkets haben wir einen speziellen Step PlentyRESTAuthenticate der das erledigt:

„Zu Fuß“ würde evtl. auch per HTTP Verbindung und OAuth mit Client Credentials Flow hier mit gehen, aber das wäre komplizierter.

Aber nur, falls du es mal für eine andere API brauchst. Hierbei beherrscht der HTTP Account dann auch die automatische Erneuerung des Tokens nach Ablauf.

Hallo Zusammen @synesty-Sales

Ich hätte hierzu nochmal eine Frage:

Ich habe jetzt auch den Fall, dass ich eine handvoll Calls über den APICall-Step an Plenty schicken will. Ich habe dazu z.B. den HTTP-Account plentyAPIUser-Tornado eingerichtet. Jetzt hatte ich den eine Weile nicht genutzt und der Bearer Token war abgelaufen. Zur erneuten Autorisierung habe ich einen eigenen APICall mit /rest/login genutzt und dann den ausgegebenen Token in der Verbindung eingetragen.

Gibt es da auch einen besseren (automatischen) Weg? Der Step PlentyRESTAuthenticate authentifiziert mir ja nur die Verbindung vom Typ Plentymarkets und nicht vom Typ HTTP, oder?

Ihr habt geschrieben, man könnte das ggf. über OAuth machen, wie müsste ich dafür die Verbindung denn konfigurieren damit das mit Plenty dynamisch läuft?

VG,
Florian

Hallo Florian,

Der PlentyRESTAuthenticate Step gibt den (neuen) Token als Output aus. Diese Token könntest du im Feld requestHeaders der HTTP Steps (API, UrlDownload, SpreadsheetUrlDownload) verwenden:
Authorization=Bearer ${token@PlentyRESTAuthenticate_??!}

Über die HTTP Verbindung sollte es auch funktionieren:

type: OAuth 2.0
Grant Type: Client Credenditials
Client ID & Secret: irgendwas eintragen, nicht verwendet
Token URL: https://www.example.com/rest/login?username={{username}}&password={{password}}

Speichern und Konfiguration starten

Access- & Refresh Token, Expires At werden dann automatisch gefüllt.

Die Einstellungen Add info automatically to = Request Header und Header Prefix = Bearer sind die Standard Einstellungen und musst du nicht anpassen.

Viele Grüße
Torsten

1 „Gefällt mir“