Вызов web API с помощью маркера доступа из powershell
Привет всем, я пытаюсь сделать вызов API, защищенного токеном Azure AD из Powershell
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $Token = Get-AzCachedAccessToken $headers.Add("Authorization",$Token) $response = Invoke-RestMethod "http://mysite.com:9666/getvalves" -Headers $headers $response | ConvertTo-Json
Код в Get-AzCachedAccessToken был чем-то, что я скачал, и я верю, что это работает
Я получаю эту ошибку при запуске вышеописанного
Invoke-RestMethod : The remote server returned an error: (401) Unauthorized. At C:\Users\pete\OneDrive\Documents\WindowsPowerShell\Scripts\MyScripts\CallAlvalvesAPI.ps1:7 char:13 + $response = Invoke-RestMethod "http://mysite.com:9666/getva ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Так что это явно не санкционирование успешно
Я могу получить доступ к API из нескольких приложений C# без проблем - просто было бы удобно иметь возможность тестировать новые вещи из Powershell
Что я уже пробовал:
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" $Token = Get-AzCachedAccessToken $headers.Add("Authorization",$Token) $response = Invoke-RestMethod "http://mysite.com:9666/getvalves" -Headers $headers $response | ConvertTo-Json