1

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

4

3 回答 3

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) {...});
于 2014-03-14T10:52:15.853 回答
0

尝试使用data而不是params

HTTP.post('https://api.trello.com/1/webhooks?key=...&token=...', {
  data: {
    idModel: '...',
    callbackURL: '...'
  },
}, function(error, result) {...});
于 2014-03-13T21:39:02.060 回答
0

补充这个页面,因为我在 golang 中遇到了同样的问题。我通过添加来解决它

req.Header.Add("Content-Type", "application/json")

令人困惑的是,400 消息是关于无效的 idModel。

于 2015-12-09T15:32:46.440 回答