使用Postman或cURL获取ActiveCollab API的issue-token失败求助
问题原因
- ActiveCollab v1版本的
issue-token接口默认要求请求体为XML格式,你当前使用-d参数提交的是application/x-www-form-urlencoded格式的表单数据,接口尝试解析XML内容时读取不到有效载荷,因此触发DOMDocument::loadXML()参数为空的报错。 - 若你使用的是自托管版本的ActiveCollab,也可能是服务端未开启表单/JSON格式请求的兼容解析,导致接口只能识别XML格式的请求。
解决方法
- 调整cURL请求,提交符合要求的XML格式请求体,示例命令如下:
curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?> <request> <email>email@gmail.com</email> <password>XXXXXX</password> </request>' https://app.activecollab.com/XXXXXX/api/v1/issue-token
注意替换命令中的邮箱、密码、域名路径占位符为你的实际参数。
- 如果是自托管部署的ActiveCollab,确认服务端开启了JSON格式请求的兼容支持后,也可以直接提交JSON格式的请求体,示例如下:
curl -X POST -H "Content-Type: application/json" -d '{"email":"email@gmail.com","password":"XXXXXX"}' https://app.activecollab.com/XXXXXX/api/v1/issue-token
- Postman请求调整方法:将Body格式设置为
raw,类型选择XML,填入上述XML格式的请求内容即可正常请求。
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

