想使用 IFTTT 创建新主题、帖子和私信吗?让我们开始吧!
通过 IFTTT 服务的 Maker Webhooks,我们可以调用 Discourse API。为此,我们需要先生成 API 密钥。您可以在管理面板的 /admin/api/keys 处创建 API 密钥。
此外,我们还可以通过用户管理页面生成特定于用户的 API 密钥。
现在,在 IFTTT 上 创建新应用,然后选择您喜欢的触发服务。例如,我现在使用的是 Google 日历 服务。
然后我选择 添加任何新事件 作为触发器。
要将触发器与 Discourse 连接,请选择 Maker Webhooks 作为操作服务,并选择 发起网络请求 操作。
现在按如下方式填写操作字段。
- URL(必填):
https://discourse.example.com/posts.json - 方法(必填):
POST - 内容类型:
application/json - 其他标头:
Api-Key: [YOUR_API_KEY]
Api-Username: [API_USERNAME]
重要提示: API 凭据必须作为 HTTP 标头(
Api-Key和Api-Username)发送,而不是作为 URL 查询参数。Discourse 不接受通过查询参数进行的 POST 请求 API 密钥身份验证。IFTTT 的 Maker Webhooks 服务支持自定义标头 — 请使用 其他标头 字段添加它们。
- 请求体:
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"category": 4,
"created_at": "{{CreatedAt}}"
}
在请求体文本中,您可以看到许多带有双括号 {{ }} 的字段。这些字段(内容源)将随每个服务触发器而变化。请从下方的 参数 按钮中选择它们。
您可以根据需要编辑 JSON 请求体中的 title 和 raw 字段及其周围的文本。从您网站的 /site.json URL 中找到类别 ID 并将其放入类别字段中。现在点击 创建操作 按钮以创建应用。应用创建后,可能需要一些时间才能生效。
完成了
。现在,每当您的 Google 日历创建新事件时,就会创建一个新主题
。
要创建对现有主题的回复而不是创建新主题,请将请求体文本更改如下(使用 topic_id 代替 category):
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"topic_id": 4,
"created_at": "{{CreatedAt}}"
}
创建新私信:
{
"title": "{{Title}}",
"raw": "{{Description}}\n\nPlace: {{Where}}\nAt: {{Starts}} - {{Ends}}",
"target_usernames": "discourse1,discourse2",
"archetype": "private_message",
"created_at": "{{CreatedAt}}"
}
使用相同的方法,您可以通过任何其他 IFTTT 操作服务 发起 Discourse API 请求。




