2015-05-22 4 views
1

В настоящее время я работаю с API Trello, и я пытаюсь установить webhook, но у меня возникают проблемы, которые, надеюсь, кто-то может мне помочь. Прежде всего в API и документах Trello (https://trello.com/docs/gettingstarted/webhooks.html), создание webhook требует отправки idModel как части json. Я предполагаю, что моя первая проблема заключается в том, что я не уверен точно, что такое idModel или как я могу найти этот идентификатор. Я пытался использовать идентификатор я получаю, если я получаю лексемы, но в настоящее время я получаю ошибку 400 ответа, когда я отправить запрос на следующую конечную точку:Проблема с Trello webhook

https://trello.com/1/tokens/daf73f1c77efc8f6062aaa94005ab07215d8d390ff2caffe57659707fee32597/webhooks

и моя JSON выглядит что-то вроде (заменит CallBackURL с моим фактическим обратным вызовом URL):

{ 
description: "My first webhook", 
callbackURL: callbackURL, 
idModel: "54fdef9430a36282010f6230", 
} 
+0

Какой запрос вы делаете? Это должно быть PUT или POST. Кроме того, вы должны включить сообщение об ошибке, которое вы получаете вместе с 400. –

ответ

4

чтобы ответить на первый вопрос, то idModel это объект, который вы хотите контролировать. Это может быть карта, список, доска и т.д.

Получить идентификаторы для списков на доске, используя следующую конечную точку: https://api.trello.com/1/boards/[boardID]/lists?key=[App-key]&token=[App-token]

Затем используйте один эти идентификаторы, чтобы отслеживать список для изменений.

Я думаю, причина, по которой вы можете получить ошибку 400, заключается в том, что вы не передаете ключ к конечной точке создания веб-крючка.

Вы должны отправить запрос 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.

0

plingamp - правый. но обратите внимание, что у вас есть дополнительный, в вашем теле JSON.

он должен выглядеть

{ 
description: "My first webhook", 
callbackURL: callbackURL, 
idModel: "54fdef9430a36282010f6230" 
} 

Я предлагаю вам использовать Почтальон для этого. Используйте запрос POST с сырым корпусом JSON и с теми же параметрами, что и раньше. он должен работать, если пользовательский токен и ключ приложения верны (просто скопируйте тело, которое я написал здесь), у меня была такая же проблема, и это сработало.

Также используйте request bin и скопируйте ссылку как callBackUrl, и вы сможете увидеть запрос POST, сделанный trello.

0

У меня также была эта проблема и нашла this question, где было принято решение добавить заголовок Content-Type к запросу. Добавление заголовка "Content-Type": "applicaton/json" сработало для меня.

Смежные вопросы