我遇到了来自meraki的特定REST的问题。我已经成功地执行了所有的get操作,但是POST操作从服务器收到了一个"308“错误。我想做以下几件事:
示例请求:
curl -L -H 'X-Cisco-Meraki-API-Key: <key>' -X POST -H 'Content-Type:
application/json' --data-binary '{"name":"Miles Meraki",
"email":"miles@meraki.com", "orgAccess":"none", "tags":[{"tag":"west",
"access":"read-only"}]}'
'https://dashboard.meraki.com/api/v0/organizations/1234/admins'我的请求:
Invoke-RestMethod -Method Post -Uri
https://dashboard.meraki.com/api/v0/organizations/$global:MerakiOrg/admins/ -
Body $jbody -Headers $Global:MerakiHeader -ContentType 'application/json'我的$jbody值是从示例中复制的文本json。我不熟悉这308代码作为返回代码。任何指导都会很有帮助。
发布于 2017-06-04 20:50:57
好吧,我解决了这个问题,多亏了我的一些回应,我才能回到原路上,想出答案。问题的第一部分是理解308响应错误的含义。在理解了这是一个重定向错误之后,我在web浏览器中手动运行rest命令来查找重定向URL。然后,我使用这个URL作为rest字符串的URI前缀。在找出问题所在时,我遇到的第二个最大问题是,在服务器响应错误中,我没有获得足够的信息。我发现了另一个堆栈溢出主题,它向我展示了如何获得完整的json响应这里。
在完成流读取器方法之后,我得到了更好的描述我的错误是什么:
电子邮件miles@meraki.com已经注册在思科梅拉基仪表板帐户。为了安全起见,在这里可以授予管理员权限之前,该用户必须验证他/她的电子邮件地址。
因此,显然,这个问题归结为我试图在我的仪表板上创建一个测试帐户,其名称与api示例文档中的名称相同。我只是修改了我自己的自定义后缀电子邮件后缀,这解决了问题和rest命令工作!
感谢那些帮助我指出正确方向的人。
https://stackoverflow.com/questions/44350045
复制相似问题