PowerShell-Slack API-会议室历史记录-具有x-www-form-urlencoded参数的Post方法

时间:2019-04-22 18:08:06

标签: powershell urlencode slack-api

我想使用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

2 个答案:

答案 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"