使用 Zapier 自动发送 Discourse 邀请邮件

您可以先通过一个 GET 动作事件检查用户是否已有账户:

如果是这种情况,您再执行一条路径,通过 PUT 动作将该用户添加到某个组中:

1 个赞

太棒了,Krischan!感谢你的快速回复!我现在正在尝试。

Get 部分似乎工作正常。

但在 Put 操作上我遇到了问题:

1 / 你能告诉我需要在 Header 中设置哪种 Content-type 吗?
(我猜我仍然需要添加我的 API 用户名和 API 密钥)

2 / 在 Put 操作的 URL 中,我需要使用组 ID(数字形式,比如你示例中的 110),还是可以使用我在组 URL 中看到的名称?(例如“course-A”)

我尝试使用组的名称(我不知道在哪里可以找到组 ID),但似乎不起作用。

谢谢!:smiley:

1 个赞

内容类型:multipart/form-data

不,我想你必须使用群组 ID。你可以从 JSON 文件中获取它,例如:https://meta.discourse.org/g.json

4 个赞

太棒了,使用这种内容类型和组 ID,看起来能正常工作了!

感谢你的快速帮助,Krischan!

3 个赞

嗨,Krischan!:slight_smile:

你知道是否有一种方法可以通过电子邮件通知用户,告知他已被添加到某个群组(通过 Discourse API 在 Zapier 上实现)吗?

我知道在 Discourse 上手动将用户添加到群组时,可以勾选一个选项来发送邮件通知。

如果在我的 Zap 将用户添加到新群组时能触发一封邮件,那就太好了。

谢谢!

1 个赞

你为什么不给他发一条带有帖子事件的私信呢?

2 个赞

感谢你的回复 @Krischan

你有没有更快的方式来通知用户?(如果是 Discourse 的基本消息也没关系,就像我勾选“通知用户”复选框时用户收到的那种消息一样。)

你的方案很棒,但由于我有大量的组和自动化流程,如果能只需添加“一种”数据类型(例如仅用于“激活”通知),而无需创建 30 个新的 Zap,那就太棒了:stuck_out_tongue:

1 个赞

抱歉,我还没做过这个。不过这篇帖子或许能帮到你:

3 个赞

谢谢你的回复,Krischan!
我会去检查一下 :slight_smile:

2 个赞

大家好 :slight_smile:

你们知道是否可以用上面解释的相同逻辑从群组中移除成员吗?

我注意到 API 提供了删除群组成员的方法:Discourse API Docs

但我不确定如何在 Zapier 中使用它 :confused:

1 个赞

你好,

我需要一些帮助。我已遵循所有说明,并且链接已创建。但是,该链接未分配给电子邮件。电子邮件字段为空,用户未收到任何电子邮件。

见:

结果:

1 个赞

最近有人在使用电子邮件邀请 Zap 时收到错误消息吗?在我的例子中,我收到 403 和 404 错误,并且一些邀请未能成功发送。

这听起来像是 Api-Key 或 Api-Username 的权限问题。尝试在您的 Discourse 站点上检查这两项。确保您为 Api-Username 提供的用户在该站点上仍然处于活动状态,并且 Api-Key 具有全局范围,或者具有已勾选“邀请”范围框的“粒度范围”。

如果这不能解决问题,请告知我们。

我正在顶一下 Juliano 的消息,因为我 刚才 尝试了这个,遇到了同样的问题。我该如何确保我创建的邀请是 电子邮件 邀请?我似乎只能创建 链接 邀请,尽管那些也运行得很好。

1 个赞

关于此问题,我将再次尝试,并提供一些更新。

Zapier 的 Discourse 集成应用似乎存在缺陷:它将“email”和“skip_email”的 POST 请求正文值映射到同一个键:“skip_email”。这导致 Discourse 收到的 HTTP POST 请求中没有“email”项,因此邀请被创建为“链接”邀请,而不是“电子邮件”邀请。

我正在给 Zapier 发送一封支持邮件。我们拭目以待。:person_shrugging:

如果我使用 Zapier 的通用 Webhook 功能,我可以创建邀请,但 Discourse 没有发送电子邮件,所以我需要弄清楚原因。了解更多信息后我会跟进。

1 个赞

有没有办法使用 make.com 而不是 Zapier 来实现这一点?它的功能与 Zapier 类似,并且集成了 Discourse,但我找不到邀请命令。

我很确定有办法。

Discourse 的 Zapier 集成也没有邀请命令。这个话题实际上是在解释如何通过使用 Zapier 的操作步骤来解决这个问题,该步骤允许你向 Discourse 发起 API 调用。我很确定你可以在 make.com 上通过使用他们的“发起 API 调用”操作来实现同样的功能:https://www.make.com/en/integrations/discourse。

你可能会在这个话题的 OP 中找到关于如何设置的有用细节。如果你有关于如何使其工作的问题,最好在这里提问:https://meta.discourse.org/t/how-to-connect-discourse-with-hundreds-of-apps-using-integromat/180181/1。(Integromat 已更名为 Make.com)。

@JammyDodger 我链接的这个话题可能需要重命名和编辑,以明确它指的是 Make.com 而不是 Integromat。

3 个赞

非常感谢您的回复和链接。我之前不知道 Make.com 有另一个名字,所以这很有帮助。我会试试看的。