发送请求时在 PowerShell 中使用括号
Using brackets in PowerShell when sending a request
我正在尝试在 ISE 中发送包含以下正文的请求:
$body = @{
'roles'=['write'],
"grantedToIdentities": [{
"application": {
"id": "xx-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}]
}
$Result = Invoke-RestMethod -Uri 'https://graph.microsoft.com/v1.0/sites/xx-53D2-xx-A368-A7F3E475F0A0/permissions' -Headers $Headers
write-host $Result
但是我可以看到我需要转义括号。关于如何提出这样的请求有什么建议吗?
如果你想在PowerShell中表达一个数组,你可以使用@()
语法。此外,您必须省略每个 属性 后的逗号,并使用 @{}
语法定义 objects/hashtables。这就是您的 body 的样子:
$body = @{
roles = @('write')
grantedToIdentities = @( @{
application = @{
id = "xx-7736-4e25-95ad-3fa95f62b66e"
displayName = "Contoso Time Manager App"
}
})
}
这就是对应的 JSON 的样子:
{
"roles": [
"write"
],
"grantedToIdentities": [
{
"application": {
"id": "xx-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}
]
}
这将匹配 Create permission Graph request 的预期负载。
⚠ 注意: 您没有将 $body
object 添加到示例中的请求中。
我正在尝试在 ISE 中发送包含以下正文的请求:
$body = @{
'roles'=['write'],
"grantedToIdentities": [{
"application": {
"id": "xx-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}]
}
$Result = Invoke-RestMethod -Uri 'https://graph.microsoft.com/v1.0/sites/xx-53D2-xx-A368-A7F3E475F0A0/permissions' -Headers $Headers
write-host $Result
但是我可以看到我需要转义括号。关于如何提出这样的请求有什么建议吗?
如果你想在PowerShell中表达一个数组,你可以使用@()
语法。此外,您必须省略每个 属性 后的逗号,并使用 @{}
语法定义 objects/hashtables。这就是您的 body 的样子:
$body = @{
roles = @('write')
grantedToIdentities = @( @{
application = @{
id = "xx-7736-4e25-95ad-3fa95f62b66e"
displayName = "Contoso Time Manager App"
}
})
}
这就是对应的 JSON 的样子:
{
"roles": [
"write"
],
"grantedToIdentities": [
{
"application": {
"id": "xx-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}
]
}
这将匹配 Create permission Graph request 的预期负载。
⚠ 注意: 您没有将 $body
object 添加到示例中的请求中。