![](/img/trans.png)
[英]How to use below JSON body in powershell for invoke-restmethod
[英]How to use JSON to Powershell Invoke-RestMethod?
我正在嘗試使用此請求調用API。 該請求在Postman中工作正常。 但是,如何將其轉換為PowerShell Invoke-RestMethod
?
這就是我嘗試過的。
$token = "abcdef123456"
$url = "https://example.com/OVAV1/triggercalls/1"
$header = @{"Authorization"='abdcdef123456'}
$body =
{
"requestid": "<Echo back field>",
"templatename": "Line_Down",
"templateid": "abcde12345",
"noofrecords": 1,
"variableinfo": [
{
"<<MOBILE_NUMBER>>": "123456789",
"<<UNIQUE_CALL_IDENTIFIER>>": "A001",
"<<LinkType>>": "PRI",
"<<HostName>>": "HOSTNAME"
}
]
}
$request = Invoke-RestMethod -Uri $url -Headers $header -Body $body -ContentType "application/json" -Method Post
$request
我在Postman中嘗試了JSON代碼。 一切正常。 如何在PowerShell中使用相同的JSON代碼?
您不能像這樣將JSON數據放入PowerShell代碼中。 將其放在此處字符串中,它應該可以工作:
$body = @"
{
"requestid": "<Echo back field>",
"templatename": "Line_Down",
"templateid": "abcde12345",
"noofrecords": 1,
"variableinfo": [
{
"<<MOBILE_NUMBER>>": "123456789",
"<<UNIQUE_CALL_IDENTIFIER>>": "A001",
"<<LinkType>>": "PRI",
"<<HostName>>": "HOSTNAME"
}
]
}
"@
您還可以將數據定義為哈希表,並將其轉換為JSON字符串:
$data = @{
"requestid" = "<Echo back field>"
"templatename" = "Line_Down"
"templateid" = "abcde12345"
"noofrecords" = 1
"variableinfo" = @(
@{
"<<MOBILE_NUMBER>>" = "123456789"
"<<UNIQUE_CALL_IDENTIFIER>>" = "A001"
"<<LinkType>>" = "PRI"
"<<HostName>>" = "HOSTNAME"
}
)
}
$body = $data | ConvertTo-Json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.