Procurei por horas como usar a API REST para adicionar um evento de calendário a um tópico e, infelizmente, não encontrei uma resposta.
Criei um calendário de categoria e pude exibir meu evento de tópico criado manualmente, mas não consegui automatizar a criação do evento de tópico ao adicionar um tópico usando a API REST.
Encontrei "discourse-post-events/events.json", mas quando tentei essa API, recebi "Not Found" (Não encontrado). Suponho que seja porque há a necessidade de IDs de evento e eu não sei como criá-los.
Que tal apenas criar um tópico ou post para o evento via API e adicionar as tags [event][/event] ao post como o valor do seu parâmetro raw?
O truque parece ser que deve haver um caractere de nova linha (\\n) entre as tags event de abertura e fechamento.
Estou usando \"Content-Type: multipart/form-data\" no exemplo abaixo porque é mais fácil do que lidar com JSON da linha de comando. Além disso, $api_key está definido como o valor de uma chave de API real:
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=\"Can I create an event via the API?\" \
-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]'
Quando removo a declaração do evento e coloco uma descrição alternativa, meu fórum é atualizado, mas assim que coloco a declaração do evento, recebo "Unprocessable Entity".
Peguei meus dados e tentei criar a postagem usando a UX. Ela me disse que o nome do evento deve ter no mínimo 5 caracteres.
Depois disso, tentei sua consulta curl @simon e ela disse algo interessante: Não consigo criar a postagem porque não tenho os direitos para criar eventos…