Как захватить выходное значение запроса API с помощью PowerShell

#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"