Möchten Sie IFTTT nutzen, um neue Themen, Beiträge und private Nachrichten zu erstellen? Dann legen wir los!
Mithilfe von Maker Webhooks des IFTTT-Dienstes können wir Aufrufe der Discourse-API tätigen. Dafür müssen wir zunächst API-Schlüssel generieren. Sie können API-Schlüssel im Admin-Bereich unter /admin/api/keys erstellen.
Außerdem können wir benutzerspezifische API-Schlüssel über die Benutzer-Admin-Seiten generieren.
Erstellen Sie nun eine neue Applet auf IFTTT und wählen Sie anschließend Ihren bevorzugten Trigger-Dienst. In diesem Beispiel verwende ich den Dienst Google Calendar.
\u003cimg src="//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/3/4/341b41d93de97b271496b99dcc53d21df4089ac4.png" width="591" height="409"\u003e
Als Trigger wähle ich Jedes neue hinzugefügte Ereignis.
\u003cimg src="//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/a/9/a92552c97474e03de602f8f5b134e4d3929bc76b.png" width="690" height="330"\u003e
Um Ihren Trigger mit Discourse zu verbinden, wählen Sie als Aktionsdienst Maker Webhooks und als Aktion Webanfrage stellen.
\u003cimg src="//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/c/9/c9522a31c798594cadafc8f3962b0eb4cccc6a13.png" width="681" height="500"\u003e
Füllen Sie nun die Aktionsfelder wie folgt aus:
-
URL (erforderlich):
https://discourse.example.com/posts.json -
Methode (erforderlich):
POST -
Inhaltstyp:
application/json -
Zusätzliche Header:
Api-Key: [YOUR_API_KEY]
Api-Username: [API_USERNAME]
\u003e
Wichtig: API-Anmeldedaten müssen als HTTP-Header (Api-Key und Api-Username) übermittelt werden, nicht als URL-Abfrageparameter. Discourse akzeptiert keine API-Schlüssel-Authentifizierung über Abfrageparameter bei POST-Anfragen. Der IFTTT-Maker-Webhooks-Dienst unterstützt benutzerdefinierte Header – verwenden Sie das Feld Zusätzliche Header, um diese hinzuzufügen.
- Nachrichtenkörper:
{
"title": "{{Title}}",
"raw": "{{Description}}\\n\\nOrt: {{Where}}\\nZeit: {{Starts}} - {{Ends}}",
"category": 4,
"created_at": "{{CreatedAt}}"
}
\u003cimg src="//assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/7/7/77365735ed9f95d460f2de4c16bcb13dbfda9ea0.png" width="194" height="500"\u003e
Im Nachrichtenkörper sehen Sie viele Felder mit doppelten Klammern {{ }}. Diese Felder (Inhaltsquellen) variieren je nach Trigger des jeweiligen Dienstes. Wählen Sie sie über den Button Zutat unten aus.
Sie können die Felder title und raw im JSON-Körper nach Bedarf anpassen, einschließlich umgebender Texte. Ermitteln Sie die Kategorie-ID über die URL /site.json Ihrer Seite und tragen Sie sie im Feld Kategorie ein. Klicken Sie nun auf den Button Aktion erstellen, um das Applet zu erstellen. Nach der Erstellung des Applets kann es einige Zeit dauern, bis es aktiv ist.
Fertig
. Nun wird automatisch ein neues Thema erstellt, sobald ein neues Ereignis in Ihrem Google-Kalender erstellt wird
.
Um eine Antwort auf ein bestehendes Thema zu erstellen, anstatt ein neues Thema zu erstellen, muss der Nachrichtenkörper wie folgt geändert werden (topic_id anstelle von category):
{
"title": "{{Title}}",
"raw": "{{Description}}\\n\\nOrt: {{Where}}\\nZeit: {{Starts}} - {{Ends}}",
"topic_id": 4,
"created_at": "{{CreatedAt}}"
}
Um eine neue private Nachricht zu erstellen:
{
"title": "{{Title}}",
"raw": "{{Description}}\\n\\nOrt: {{Where}}\\nZeit: {{Starts}} - {{Ends}}",
"target_usernames": "discourse1,discourse2",
"archetype": "private_message",
"created_at": "{{CreatedAt}}"
}
Auf die gleiche Weise können Sie Discourse-API-Anfragen über andere IFTTT-Aktionsdienste stellen.
