【发布时间】:2017-08-20 10:52:09
【问题描述】:
我正在尝试在我的REST API 中使用PUT 方法,但我认为我有语法问题。到目前为止,这就是我所拥有的:
$url3 = "example.com"
$contentType3 = "application/json"
$basicAuth3 = get_token
$headers3 = @{
Authorization = $basicAuth3
};
$data = @{
userId = "_39_1";
courseId = "_3_1";
availability = {
available = "Yes"
};
courseRoleId = "Student"
};
$json = $data | ConvertTo-Json;
Invoke-RestMethod -Method PUT -Uri $url3 -ContentType $contentType3 -Headers $headers3 -Body $json;
我不认为Invoke-RestMethod 能够读取$json 变量,这就是它给我一个错误的原因。有什么建议吗?
我得到的错误如下:
Invoke-RestMethod : 远程服务器返回错误:(400) Bad Request。 在 E:\PowerShell\Get_User_Enroll.ps1:62 char:1 + Invoke-RestMethod -Method PUT -Uri $url3 -ContentType $contentType3 -Headers $he ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
最好的,
【问题讨论】:
-
availability = @{ available = "Yes" } -
那个不行,还是一样的错误
-
我从来没有说过会
do it我刚刚指出了明显的错误,还请修正你的格式 -
$data = $json | ConvertTo-Json=>$json = $data | ConvertTo-Json。你有你的变量,所以你有效地发送 $null。 -
修复了,还是一样的错误
标签: powershell