如何解决使用网址链接修改Asana任务
我们使用只读的asana“项目”来管理我们的设计工作。我们的设计工作按asana Tasks进行组织。每个任务代表一个不同的设计项目。使其成为只读的原因是为了限制asana用户意外更改项目详细信息,并限制asana用户创建自己的任务,这些任务超出了我们决定的Task标准结构。
要在asana中创建这些任务,我们使用Cognito表单和Zapier的组合来自动创建任务。我们的客户填写了Cognito表单,Zapier会自动为asana填充需要为该特定客户完成的设计任务。
此设置的问题在于,要在asana中移动任务以向团队提供“更新”,要么具有写权限的asana用户需要执行此操作,要么asana用户需要填写表格以进行更改,因为它们仅具有读取权限。我们宁愿保持它超级简单,我已经找到了一种使用Zapier webhooks做到这一点的方法。
因为我们使用的是Zapier,所以我可以采用任何所需的方式来格式化URL链接。我可以创建一个URL链接,其中包括该任务需要移动到的asana任务ID和asana部分。使用webhook,用户可以单击“更改部分” URL。单击此URL将触发Zapier Zap操作,然后将更改asana Task部分。只需单击链接,用户就可以对该任务进行更新。
我的问题很基本。有没有一种方法可以阻止URL打开页面,但仍将URL中的数据传递给Zapier?当用户单击链接时,它会打开一个网页,但我不希望发生这种情况。或者,如果发生这种情况,网页打开后是否可以立即关闭?
解决方法
简单的答案是:“不,无法单击zapier链接并使页面无法打开或自动关闭”。
长答案要复杂得多。我假设您的网址看起来像https://hooks.zapier.com/hooks/catch/1234/abcd?name=john&cool=true
,允许您将“名称”和“酷”传递给Zapier。
要将其传递到Zapier中,您需要获取该URL的内容,方法是将其加载到Web浏览器中,或者使用其他工具(例如fetch
或curl
进行调用。
如果您拥有一些工程资源,则可以在一个可以接受数据并运行一些Javascript的地方托管一个非常简单的HTML页面。它将执行以下操作:
- 从查询字符串中读取Zapier webhook网址(可能值得编码)
- 在页面加载时,运行
await fetch(thatUrl)
- 指示用户关闭页面(这比从Zapier获得的JSON或黑色响应更好的UX)。我以为JS可以关闭任何页面,但事实证明
window.close()
仅在脚本打开页面(docs)时有效。
这是一个好的解决方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。