Ich suche seit Stunden nach einer Möglichkeit, mit der REST-API ein Kalenderereignis zu einem Thema hinzuzufügen, und leider konnte ich keine Antwort finden.
Ich habe eine Kategorie Kalender erstellt und meine manuell erstellten Thema-Ereignisse anzeigen können, aber ich konnte die automatische Erstellung von Thema-Ereignissen nicht handhaben, wenn ich ein Thema über die REST-API hinzufüge.
Ich habe “discourse-post-events/events.json” gefunden, aber als ich diese API ausprobiert habe, bekam ich “Not Found”. Ich nehme an, das liegt daran, dass Ereignis-IDs benötigt werden und ich weiß nicht, wie ich sie erstellen kann.
Vielen Dank für Ihre Hilfe, Ratschläge und Kommentare.
Wie wäre es, wenn Sie einfach ein Thema oder einen Beitrag erstellen für die Veranstaltung über die API und die [event][/event]-Tags zum Beitrag als Wert für seinen raw-Parameter hinzufügen?
Der Trick scheint zu sein, dass ein Zeilenumbruchzeichen (\\n) zwischen den öffnenden und schließenden event-Tags vorhanden sein muss.
Ich verwende \"Content-Type: multipart/form-data\" im folgenden Beispiel, da es einfacher ist, als mit JSON von der Befehlszeile umzugehen. Außerdem ist $api_key auf den Wert eines tatsächlichen API-Schlüssels gesetzt:
curl -X POST \"http://localhost:4200/posts.json\" \
-H \"Api-Key: $api_key\" \
-H \"Api-Username: scossar\" \
-H \"Content-Type: multipart/form-data\" \
-F title=\"Kann ich ein Ereignis über die API erstellen?\" \
-F category=6 \
-F raw='[event start=\"2024-05-10 20:00\" status=\"public\" timezone=\"America/Vancouver\" end=\"2024-05-10 21:30\" allowedGroups=\"trust_level_0\"]\n[/event]'
Wenn ich die Ereigniserklärung entferne und eine alternative Beschreibung einfüge, wird mein Forum aktualisiert, aber sobald ich die Ereigniserklärung einfüge, erhalte ich „Unprocessable Entity“.
Sie müssen die doppelten Anführungszeichen, die innerhalb der Zeichenkette vorkommen, maskieren. Zum Beispiel:
"raw": "[event start=\"2024-05-16 19:00\"...\n```
Stellen Sie außerdem sicher, dass Sie das Zeilenumbruchzeichen (`\n`) zwischen den Ereignis-Tags einfügen.
Ich habe meine Daten genommen und versucht, den Beitrag über die UX zu erstellen. Es wurde mir gesagt, dass der Ereignisname mindestens 5 Zeichen lang sein muss.
Danach habe ich Ihre Curl-Abfrage @simon ausprobiert und sie sagte etwas Interessantes: Ich kann keinen Beitrag erstellen, weil ich nicht die Rechte habe, Ereignisse zu erstellen …
Also habe ich ihm die Administratorrechte gegeben.