Meteor HTTP.post无法使用Trello API

时间:2014-03-13 21:16:30

标签: meteor trello

我尝试使用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字段。有什么想法背后可能是什么?我做错了什么还是有错误?

3 个答案:

答案 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。