Powershell JIRA Cloud API POST请求错误:调用RestMethod:{“errorMessages”:[“意外字符(';a';(代码97)):应为有效值

Powershell JIRA Cloud API POST请求错误:调用RestMethod:{“errorMessages”:[“意外字符(';a';(代码97)):应为有效值,powershell,jira-rest-api,Powershell,Jira Rest Api,我成功地使用JIRA的Cloud Restful API执行GET和DELETE调用,但在尝试使用POST将用户添加到组时,我一直遇到错误 同样的调用在POSTMAN中正常工作,但在Powershell中则不然。我怀疑这与我如何创建Bod有关 我尝试通过对键值对进行编码来修改$Body,但没有成功: [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair)) $UserAccountID =

我成功地使用JIRA的Cloud Restful API执行GET和DELETE调用,但在尝试使用POST将用户添加到组时,我一直遇到错误

同样的调用在POSTMAN中正常工作,但在Powershell中则不然。我怀疑这与我如何创建Bod有关

我尝试通过对键值对进行编码来修改$Body,但没有成功:

[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair)) 

$UserAccountID = '8675309'

$Body = @{
     accountId = $UserAccountID
}

$ExternalGroupName = 'external-users'

$AddToExternalGroup = Invoke-RestMethod ('https://aquaman.jira.com/rest/api/3/group/user?groupname=' + $ExternalGroupName + '&accountId=' + $UserAccountID ) -Headers $Headers -Method POST -ContentType "application/json" -Body $Body

$AddToExternalGroup 
我希望电话能像《邮递员》中那样通过,但我收到了以下错误消息:

Invoke-RestMethod : {"errorMessages":["Unexpected character ('a' (code 97)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: org.apache.catalina.connector.CoyoteInputStream@5fe6ff6b; line: 1, column: 2]"]}
At line:2 char:31
+ ... rnalGroup = Invoke-RestMethod ('https://aquaman.jira.com/rest/api/3 ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (Method: POST, Reque\u2026application/json
}:HttpRequestMessage) [Invoke-RestMethod], HttpResponseException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

修复!毕竟,
$Body
有问题。在遵循@AdminOfThings使用
转换为Json
的建议后,剩下的就是确保我没有将值括在引号中。谢谢!

修复!毕竟,
$Body
有问题。在遵循@AdminOfThings的建议后使用
converttojson
,剩下的是确保我没有将值括在引号中。谢谢!

似乎需要将body转换为Json:$body=$body | convertto jsontank you@AdminOfThings。我尝试了您的建议,但现在我得到了一个不同的错误:
调用RestMethod:Response status code没有t表示成功:415()。在第2行,char:31
这是否表明
$Body
的内容有问题?相同的内容在Postman中正常工作。修复!毕竟
$Body
有问题。在遵循@AdminOfThings使用
转换为Json
的建议后,剩下的是确保我没有封装这些值在引号中。谢谢!似乎您需要将body转换为Json:$body=$body | convertto JSonTank you@AdminOfThings。我尝试了您的建议,但现在我得到一个不同的错误:
Invoke RestMethod:Response状态代码不表示成功:415()。在第2行,char:31
这是否表明
$Body
的内容有问题?相同的内容在Postman中正常工作。修复!毕竟
$Body
有问题。在遵循@AdminOfThings使用
转换为Json
的建议后,剩下的是确保我没有封装这些值引用,谢谢!