我尝试使用Meteor的HTTP.post方法通过Trello API创建一个webhook:
HTTP.post('https://api.trello.com/1/webhooks?key=...&token=...', {
params: {
idModel: '...',
callbackURL: '...'
},
}, function(error, result) {...});
请求有效,但我得到的响应是" idModel"的值无效。但是,如果我使用jQuery尝试相同的请求:
$.ajax({
type: 'POST',
url: https://api.trello.com/1/webhooks?key=...&token=...,
data: {
idModel: '...',
callbackURL: '...'
},
});
一切正常(即创建webhook并返回数据)。不知何故,Meteor的方法似乎使Trello无法解析idModel字段。有什么想法背后可能是什么?我做错了什么还是有错误?
答案 0 :(得分:1)
我通过将Content-Type
标头设置为application/x-www-form-urlencoded
来解决此问题。它之前以text/plain
发送。
HTTP.post('https://api.trello.com/1/webhooks?key=...&token=...', {
params: {
idModel: '...',
callbackURL: '...'
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}, function(error, result) {...});
答案 1 :(得分:0)
尝试使用data
代替params
:
HTTP.post('https://api.trello.com/1/webhooks?key=...&token=...', {
data: {
idModel: '...',
callbackURL: '...'
},
}, function(error, result) {...});
答案 2 :(得分:0)
补充此页面,因为我在golang中遇到同样的问题。我通过添加
来解决它req.Header.Add("Content-Type", "application/json")
令人困惑的是400消息是关于无效的idModel。