使用Invoke-WebRequest进行删除API调用

时间:2018-09-27 10:36:39

标签: api powershell invoke

您的第一个问题,如果我的问题格式不正确,请原谅我。 我遇到一个问题,试图在Powershell脚本中使用调用Web请求通过Delete API调用删除某些内容。

$password = 'Password'

$username = 'Username'

$postParams = {delete info here}

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))

Invoke-WebRequest -Method Delete -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Uri https://api.******.****.com/rest/v1/?operation=delete -Body $postParams 

该命令运行并输出请求,但是似乎也没有真正删除即时消息。我在代码中缺少什么吗?它已正确设置为删除API调用,但我已将方法切换为delete,但该方法以前是POST,而且也无法正常工作。

输出:

StatusCode        : 200
StatusDescription : OK
Content           : {"status" : "error" , "request_id" : "na",         
"details": "failed authentication"}

RawContent        : HTTP/1.1 200 OK
                Strict-Transport-Security: max-age=63072000;         
includeSubdomains
                    X-Frame-Options: DENY
                    X-Content-Type-Options: nosniff
                    Vary: Accept-Encoding
                    Content-Length: 79
                    Content-Type: text/h...
Forms             : {}
Headers           : {[Strict-Transport-Security, max-age=63072000;     
includeSubdomains], [X-Frame-Options, DENY], [X-Content-Type-Options,     
nosniff], [Vary, 
                Accept-Encoding]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 79

API调用通常在控制台中输出类似于{“ status”:“ error”,“ request_id”:“ na”,“ details”:“ failed authentication”}的内容,但是na通常是一个ID。在线,如果您单击API链接,即使对于有效的API调用,您也会看到{“状态”:“错误”,“ request_id”:“ na”,“详细信息”:“身份验证失败”}。

任何帮助将不胜感激。

0 个答案:

没有答案