我想使用Powershell invoke-rest方法使用x-www-form-urlencoded格式传递一些主体参数。但这并不是说在PostMan中可以正常工作。我的代码如下,但无法正常工作。如何在Powershell中完成此操作?
$param = [System.Web.HttpUtility]::UrlEncode("channel:channelID
Content-Type:application/x-www-form-urlencoded
limit:50")
$uri="https://MySlackWebsite.com/api/channels.history"
$test2 = Invoke-RestMethod -Method POST -Uri $uri -Headers $headerJson -Body $param
答案 0 :(得分:0)
这是一个示例脚本,说明如何通过POST请求从通道中检索消息列表。
$postParams = @{token='xoxp-XXX';channel='C12345678'}
$test2 = Invoke-WebRequest -Uri https://slack.com/api/channels.history -Method POST -Body $postParams
Write-Host $test2
它已针对this answer进行了测试,并基于kubernetes' docs来介绍如何使用PowerShell创建POST请求。
答案 1 :(得分:0)
我使用@Erik Kalkoken的指导将其与以下内容配合使用。
$headerJson = @{Authorization="Bearer xoxp-xyz"}
$postParams = @{channel='roomID';limit=50}
$uri="https://slackserver.com/api/channels.history"
Invoke-RestMethod -Method POST -Uri $uri -Headers $headerJson -Body $postParams -ContentType "application/x-www-form-urlencoded"