2015-06-02 3 views
3

Trello предоставляет api, который может быть интегрирован в скрипты Google, так что, если что-то происходит в электронной таблице, мы можем создавать/изменять карты в соответствующих платах. Также zapier обеспечивает аналогичную интеграцию.Новая карта Trello, созданная/измененная для листов google

Но можно ли сделать обратное? то есть, если какая-либо новая карта будет создана или изменена, она будет отодвинута на страницу google.

Я не мог найти их в api, если у них есть какой-то слушатель, который слушает созданное или измененное событие карты (пожалуйста, поправьте меня, если я ошибаюсь). Так думал альтернативные способы сделать то же самое.

+0

Trello имеет [webhooks] (https://trello.com/docs/api/webhook/index.html), но я не знаю, можно ли указать их на таблицу Google значимым образом. Возможно, вам придется запустить промежуточный сервер. –

+0

http://webapps.stackexchange.com/help/on-topic может представлять интерес. – pnuts

+0

Привет, я также изо всех сил стараюсь сделать эту работу ... Согласно документу Trellos (http://bit.ly/1MdsEY4), при создании webhook через API запрос HEAD отправляется на URL обратного вызова и webhook создается только в том случае, если этот запрос возвращает код состояния 200. Однако, согласно http://bit.ly/1LdhKBm, похоже, что обратный вызов скриптов приложений Google не поддерживает запрос HEAD и возвращает код состояния 403 ... – Marc

ответ

0

Сценарии Google Apps могут быть опубликованы как webapps. Вы можете использовать встроенные функции doGet() и doPost(), чтобы получать события GET и POST в ваш webapp. Я не настраивал Trello специально, но я использую это для настройки webhooks для github.

Вот документы на pubishing сценарий как веб-приложение
https://developers.google.com/apps-script/guides/web

Документах будет утверждать, что вы должны вернуть Класс HtmlService или объект contentService из doPost() или doGet(). Большинство веб-узлов ищут код ответа, вы можете просто сделать «return 200; «Это прекрасно работает.

примечание: отсутствует в документах, как получить доступ к телу сообщения.

function doPost(e){ 
var postBody = e.postData.getDataAsString(); 
// Do something with the postBody Data 
return 200; 
} 
2

Вот обходной путь:

  1. В редакторе App Script, выпадающие Публикация меню и выберите Развернуть как веб-приложение ...
  2. Set Кто имеет доступ к приложение до Любое (это ограничивает его для тех, кто вошёл в систему - т.е. Trello не вошел в систему).
  3. Добавить webhook (теперь это будет выполнено успешно).
  4. Вернитесь к шагу 2 и на этот раз установите его Любой, даже анонимный
+1

Большое спасибо @Mansour! Я застрял часами по этой глупой проблеме. Спасибо Спасибо спасибо! –

+1

Для тех, кто задается вопросом, почему обходной путь @Mansour работает, это потому, что Trello проверяет webhook, выполняя HTTP HEAD.К сожалению, когда ваш сценарий приложений опубликован как веб-приложение с доступом «Любой, даже анонимный» (что необходимо, если вы хотите разрешить Trello делать запросы POST без проверки подлинности), то HTTP HEAD в ваш скрипт Apps возвращает 403 (вы может проверить, что в Postman легко). Используя трюк выше, HTTP HEAD вернет 200, что позволит вам зарегистрировать ваш webhook в Trello. Не забудьте сбросить доступ к «любому, даже анонимному». –

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