#azure #powershell #rest
#azure #powershell #rest
Вопрос:
Я получаю 400 BadRequest и понятия не имею, почему:
$RestBody = @{
"foo" = "bar"
}
$Header = @{
"Authorization" = "Bearer $CachedAccessToken"
}
$ApiVersion = "api-version=xxx"
$restURI = "https://myURL?$ApiVersion"
Invoke-RestMethod -Headers $Header `
-Uri $restURI `
-Method POST ` # Not PUT!
-ContentType application/json `
-Body ($RestBody | ConvertTo-Json)
Заголовок и метод верны и проверены дважды. Даже URL-адрес проверяется дважды.
System.Net.WebException: The remote server returned an
error: (400) Bad Request.
at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(WebRequest request)
at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()!
CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException
Комментарии:
1. Вы уверены
$Header = "Bearer MYSECRET"
, что этого не должно быть$Header = @{ Authorization = "Bearer MYSECRET"}
?2. @MathiasR.Jessen Вы правы. Я исправил свой пост. Но это уже было правильно в моем коде.
3. В вашем коде больше нет ничего явно неправильного, поэтому все сводится к конкретному API, о котором идет речь — если вы не можете поделиться тем, что это такое, боюсь, вам придется просто перечитать документацию или связаться с поставщиком 🙂
4. @MathiasR.Jessen API все еще находится в предварительном просмотре, но с моим местным почтальоном он будет работать. Я создал запрос в службу поддержки. Обновит результаты здесь.