api - 如何使用 JSON 到 Powershell Invoke-RestMethod?

标签 api powershell postman

我正在尝试使用此请求调用 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 代码中。把它放在一个 here-string 中,它应该可以工作:

$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

关于api - 如何使用 JSON 到 Powershell Invoke-RestMethod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51649275/

相关文章:

swift - 尝试将字典发布到我的后端

java - 即使正确的JSON JAVA Volley,凭证响应也无效

angular - 如何在删除项目后更新 HTML5 表格

ruby - 警告 : Can't verify CSRF token authenticity in case of API development

azure - 检查 az cli 输出以查看是否返回值

arrays - 将数组作为 x-www-form-urlencoded 的一部分发送

java - Webstart 和 JavaCompiler API 限制

node.js - 如何在 express 服务器内进行外部 API 调用?

powershell - 特定 OU 中用户的 Get-ADUser 密码过期

xml - Powershell CSV 到 XML