rest - Powershell 发布 API 请求
问题描述
我可以使用带有以下内容的 bash 发布请求:
#!/bin/bash
APIKey="apikeyhere"
content="{\"accessToken\":\"$APIKey\",\"elements\":[{\"serialnumber\":\"AAAAAAAAA\",\"name\":\"EXAMPLENAME\",\"tags\":\"EXAMPLETAG\"}]}"
curl -s -k -X POST -d 'content='$content 'https://apiaccess.example.com/v2/devices'
我尝试使用 powershell 但收到错误“无效请求”:
$body = @{
"accessToken"="APIKeyhere"
"elements" = @{
"serialnumber"="AAAAA"
"name"="DeviceName"
"tags"="tag1,tag2"
}} | ConvertTo-Json
$header = @{
"Accept"="application/json"
"Content-Type"="application/json"
}
Invoke-RestMethod -Uri "https://apiaccess.example.com/v2/devices" -Method 'Post' -Body $body -Headers $header | ConvertTo-HTML
关于如何修复 powershell 脚本的任何指示?
解决方案
我曾经做过类似的事情,不得不将 CURL 请求翻译成 Powershell。也许以下文章会对您有所帮助: CURL to Powershell example
我也得到了错误
“无效的请求”:...
就我而言,API 很奇怪。CURL 对 POST 方法的 GET 请求做了一个简单的回退……花了几个小时才意识到我必须在 Powershell 中执行 POST 而不是 GET。
推荐阅读
- c# - 如何在控件的不同区域显示不同的工具提示
- javascript - Jquery在视频上返回原始事件
- java - 如何创建一个可以接收任何对象数组并对其进行排序的函数?
- r - 根据 R 中的回归反函数查找 x 值
- django - '[Errno 13] Permission denied: '/static'' 即使我有权限?Django 管理员
- neural-network - 使用 spacy 训练自定义 ner 模型时,“drop”和“sgd”是什么意思?
- .net - .NET Core API JwtBearerEvents.TokenValidated - 多个 API 请求之间的竞争条件
- javascript - 将值转换为 Javascript 中对象数组的键
- ionic3 - JavaScript - 如何将承诺中从离子存储读取的数据分配给变量
- powerbi - Power BI,在同一个表中显示类别平均行