我目前正在使用Trello的API,我正在尝试设置webhook,但我遇到的问题希望有人可以帮我解决。首先在Trello API和docs(https://trello.com/docs/gettingstarted/webhooks.html)中,创建webhook需要将idModel作为json的一部分发送。我想我的第一个问题是我不确定idModel是什么,或者我怎么能找到这个id。如果我得到令牌,我试图使用我获得的id,但是当我向下一个端点发送请求时,我得到400响应错误:
和我的json看起来像(用我的实际回调网址替换callbackURL):
{
description: "My first webhook",
callbackURL: callbackURL,
idModel: "54fdef9430a36282010f6230",
}
答案 0 :(得分:4)
要回答您的第一个问题,idModel是您要监控的对象。这可以是卡片,清单,纸板等。
使用以下终点获取板上列表的ID: https://api.trello.com/1/boards/[boardID]/lists?key=[App-key]&token=[App-token]
然后使用这些ID监视列表以进行更改。
我认为您可能遇到400错误的原因是您没有将密钥传递给Web挂钩创建端点。
您必须向端点发送POST请求,如下所示:
curl \
-H "Content-Type: application/json" \
-d '{"description": "My First Webhook",
"callbackURL": "http://www.mywebsite.com/trelloCallback",
"idModel": "4d5ea62fd76aa1136000000c"}'
https://trello.com/1/tokens/[USER_TOKEN]/webhooks/?key=[APPLICATION_KEY]
请注意,当您发出此POST请求以创建webhook时,Trello会向您的服务器发出HEAD请求,并且他们希望您的服务器以200状态响应。
答案 1 :(得分:0)
应该看起来像
{
description: "My first webhook",
callbackURL: callbackURL,
idModel: "54fdef9430a36282010f6230"
}
我建议你使用Postman这个。 使用具有原始JSON主体的POST请求,并使用与之前相同的参数。 它应该工作,如果用户令牌和应用程序密钥是正确的(只是复制我在这里写的身体),我有完全相同的问题,并解决了。
此外,使用request bin并将链接复制为callBackUrl,您将能够看到trello发出的POST请求。
答案 2 :(得分:0)
我也遇到了这个问题,发现this question解决办法是在请求中添加Content-Type
标头。添加标题"Content-Type": "applicaton/json"
对我有用。