PowerShell调用Joe SandBox API下载报告遇apikey必填报错如何解决
PowerShell调用Joe SandBox API报错修复方案
错误原因
{"errors":[{"code":2,"message":"apikey is required."}]}报错核心是请求参数格式不匹配接口要求:你将请求参数序列化为了JSON格式,但接口要求参数以表单形式传递,服务端无法从JSON payload中解析到对应字段。
修复方法
直接使用哈希表作为请求体传入,不需要转换为JSON,Invoke-RestMethod会自动按指定Content-Type将哈希表序列化为对应的表单格式,修复后代码如下:
$formParams = @{ apikey = "XXXX" webid = "YYYY" } Invoke-RestMethod -Uri 'https://www.joesandbox.com/api/v2/analysis/download' -Method POST -Body $formParams -ContentType 'multipart/form-data'
如果上述配置仍返回报错,可以尝试将Content-Type调整为application/x-www-form-urlencoded:
$formParams = @{ apikey = "XXXX" webid = "YYYY" } Invoke-RestMethod -Uri 'https://www.joesandbox.com/api/v2/analysis/download' -Method POST -Body $formParams -ContentType 'application/x-www-form-urlencoded'
额外验证项
- 确认
apikey为Joe SandBox后台生成的有效密钥,无拼写、前后空格问题 - 确认
webid为目标分析任务的正确ID
内容的提问来源于stack exchange,提问作者Martin Forand
相关产品推荐
相关产品推荐

