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 新卡创建/修改为谷歌表格的主要内容,如果未能解决你的问题,请参考以下文章

使用 Trello API 创建卡片后如何解析响应

是否有将谷歌文档转换为谷歌电子表格的功能?

为谷歌浏览器中的每一页打印一个标题

如何使用查询将列数据解析为谷歌表格中的行

为谷歌地图动态创建/下载样式

为谷歌存储桶创建签名 URL 的问题