Trello 新卡创建/修改为谷歌表格
Posted
技术标签:
【中文标题】Trello 新卡创建/修改为谷歌表格【英文标题】:Trello new card created/modified to google sheets 【发布时间】:2015-08-15 15:59:35 【问题描述】:Trello 提供的 api 可以集成到 google 脚本中,这样如果电子表格中出现问题,我们可以在适当的板上创建/修改卡片。 zapier 也提供了类似的集成。
但是反过来可能吗?即,如果创建或修改了一些新卡片,它将被推回谷歌表格。
如果他们有某种监听器来监听卡片创建/修改事件,我无法在他们的 api 中找到(如果我错了,请纠正我)。也在考虑其他方法来做同样的事情。
【问题讨论】:
Trello 有webhooks,但我不知道是否可以以有意义的方式将它们指向谷歌电子表格。您可能需要运行一个中间服务器。 嗨,我也在努力完成这项工作......根据 Trellos 的文档 (bit.ly/1MdsEY4),当通过 API 创建 webhook 时,HEAD 请求被发送到回调 url 和仅当此请求返回 200 状态代码时才会创建 webhook。但是,根据bit.ly/1LdhKBm的说法,谷歌应用脚本回调似乎不支持HEAD请求并返回403状态码... Zapier 可以反过来;但是同时使用 Zapier 会很困难,因为 Zapier 不是同步工具。 【参考方案1】:这里有一个解决方法:
-
在 App Script Editor 中,下拉 Publish 菜单并选择 Deploy as web app ...
将有权访问应用程序的人设置为任何人(这将其限制为已登录的人 - 即 Trello 未登录)。
添加 webhook(这会成功)。
返回第 2 步,这次将其设置为 任何人,甚至匿名
【讨论】:
非常感谢@Mansour!我在那个愚蠢的问题上被困了好几个小时。谢谢谢谢谢谢! 对于那些想知道为什么@Mansour 变通办法有效的人,这是因为 Trello 通过执行 HTTP HEAD 来验证 webhook。不幸的是,当您的 Apps 脚本发布为具有“任何人,甚至匿名”访问权限的 Web 应用程序时(如果您想允许 Trello 发出 POST 请求而无需进行身份验证,这是必要的),那么您的 Apps 脚本的 HTTP HEAD 将返回 403(您可以很容易地在 Postman 中测试)。通过使用上述技巧,HTTP HEAD 将返回 200,这将允许您将 webhook 注册到 Trello。不要忘记重置对“任何人,甚至匿名”的访问权限。【参考方案2】:Google Apps 脚本可以作为网络应用发布。您可以使用内置函数 doGet() 和 doPost() 来接收 GET 和 POST 事件到您的 webapp。我没有专门设置 Trello,但我确实使用它来为 github 设置 webhook。
以下是有关将脚本发布为网络应用程序的文档https://developers.google.com/apps-script/guides/web
文档将声明您必须从 doPost() 或 doGet() 返回 htmlService 或 contentService 对象。大多数 webhook 都在寻找响应代码,您只需执行 'return 200;' 即可。
注意:文档中缺少的是如何访问帖子正文。
function doPost(e)
var postBody = e.postData.getDataAsString();
// Do something with the postBody Data
return 200;
【讨论】:
以上是关于Trello 新卡创建/修改为谷歌表格的主要内容,如果未能解决你的问题,请参考以下文章