Я написал функцию PS для захвата нового ключа доступа Oauth2 на лету, который работает успешно. Я анализирую ответ, чтобы получить только новый ключ доступа и сохранить его в переменной. Давайте вызовем эту переменную $ accesskey
Я запускаю следующее
Invoke-RestMethod "https://mysite.example.com/manage/v5/users" -Method GET -Headers @{"Authorization"="Bearer $accesskey"} -ContentType "application/json"
Однако я получаю следующую ошибку
Invoke-RestMethod : {"name":"Unauthorized","message":["Your request was made with invalid credentials."],"code":0,"status":401}
Или
Function Get-APIHeader {
$Uri = "https://mysite.example.com/oauth2/token"
# Set body
$Body = @{
grant_type = 'password'
username = 'user'
password = 'password'
client_id = 'test'
client_secret = '0123456789abcdefghijk'
scope = 'api'
redirect_uri = 'https://mysite.example.com/'
}
$APIResponse = Invoke-RestMethod -Method Post -Uri $Uri -Body $Body
@{
'Authorization' = 'Bearer ' + $APIResponse.access_token
}
}
У меня вопрос: нужно ли хранить какую-либо другую информацию в шапке? Чтобы получить ключ доступа в первую очередь от моей функции, я должен передать свой идентификатор клиента / секретный и имя пользователя / пароль API, и это успешно.
Спасибо