#powershell #invoke-restmethod
#powershell #вызвать метод restmethod
Вопрос:
В настоящее время я выполняю некоторые базовые тесты API REST с помощью powershell.
Однако у меня возникла проблема с захватом определенных выходных данных
Например:
$bearer = Invoke-RestMethod -Method POST -Body $body -uri "https://api.yourwebsite.com/oauth/token"
Output:
access_token
------------
{longtokenhere}
Но при использовании его с заголовком:
$header = @{Authorization = "Bearer " $bearer}
Output is:
Name Value
---- -----
Authorization Bearer @{access_token={longtokenhere}}
Я хотел бы знать, как я смогу удалить часть «@{access_token=}», чтобы я мог просто использовать только {longtokehere}?
Ответ №1:
Я провел некоторое тестирование, и оказалось, что я могу напрямую вызывать вывод access_token:
Когда я выполнил эту часть:
$bearer = Invoke-RestMethod -Method POST -Body $body -uri "https://api.yourwebsite.com/oauth/token"
Output:
access_token
------------
{longtokenhere}
Я просто использовал этот:
$bearer.access_token
И я получил только прямой вывод токена:
{longtokenhere}
Моя последняя команда работала с этим:
Invoke-RestMethod -Method GET -Header @{Authorization = "Bearer " $bearer.access_token} -ContentType "application/json" -uri "https://api.yourwebsite.com/release/releaseID"