it-frosch
Goto Top

Powershell REST API - Bearer Frage

Guten Morgen Kollegen,

ich möchte per Powershell mit einer REST API arbeiten. Ich habe vom Anbieter einen Bearer Token bekommen und das was ich machen will bereits erfolgreich mit Postman getestet.

Jetzt will ich bestimmte Änderungen aber mit Powershell skripten.

Aktuell scheitere ich schon an der Bearer Authentitication. Trotz verschiedener Beispiele habe ich einen Fehler drin den ich einfach nicht finde. Wäre schön wenn mir jemand auf's Pferd helfen könnte.

$Token = "-iro-8e9xG8orIzGt8fTLzULbo842gjAtE7t4"  
$url = "https://api.beispiel.de/api/data/subdata/"  
$method = "GET"  

$response = Invoke-RestMethod -Uri $url -Method $method -Authentication "Bearer"  

Als Antwort bekomme ich: 
$response = Invoke-RestMethod -Uri $url -Method $method -Authentication "Bearer"  
Invoke-RestMethod : Es wurde kein Parameter gefunden, der dem Parameternamen "Authentication" entspricht.  
In Zeile:9 Zeichen:57
+ ... = Invoke-RestMethod -Uri $url -Method $method -Authentication "Bearer ...  
+                                                  ~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-RestMethod], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Das verstehe ich nicht, da ich doch den Parameter -Authentication angegeben und Token auch definiert habe.

Grüße vom it-frosch

Content-ID: 42235969328

Url: https://administrator.de/contentid/42235969328

Ausgedruckt am: 03.12.2024 um 17:12 Uhr

michi1983
michi1983 02.02.2024 um 09:05:07 Uhr
Goto Top
Hallo,

du hast ihn zwar angegeben, aber es sieht so aus als dass die Methode oder Funktion die du verwendest in Powershell diesen Parameter nicht kennt.

Gruß
11078840001
Lösung 11078840001 02.02.2024 aktualisiert um 09:30:22 Uhr
Goto Top
Mit Powershell 5 musst du den "Authorization" Header setzen das kennt noch keinen Authentication Parameter.
# ....
$response = Invoke-RestMethod -Uri $url -Method $method -Headers @{"Authorization" = "Bearer $token"}  
RTFM

da ich doch den Parameter -Authentication angegeben und Token auch definiert habe.
Nö hast du nicht, du hast nur ne Variable mit dem Token gesetzt aber ihn gar nicht genutzt , und nen Parameter "Authentication" gibbet ned in der PS 5 erst ab PowerShell 6.0!!


https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell ...
This feature was added in PowerShell 6.0.0.

☠️
it-frosch
it-frosch 02.02.2024 um 10:07:14 Uhr
Goto Top
@abamakabra

Genial ! Das war es. Vielen lieben Dank.

Grüße vom it-frosch