Das ist genau das, was ich in meiner Brettspiel-Community mache: Immer wenn ein Brettspiel zu meiner Datenbank hinzugefügt (oder umbenannt) wird, werden ein Tag und zwei benutzerdefinierte Themen erstellt/aktualisiert.
Wenn ich mich richtig erinnere, gab es damals keinen spezifischen Endpunkt zum Erstellen eines einzelnen Tags (man kann jedoch einen neuen beim Erstellen eines Themas hinzufügen), aber ich konnte den Batch-Tag-Upload verwenden, um dies zu tun.
So etwas in der Art:
const formData = new FormData();
formData.append("file", Buffer.from("the-tag-name,an-optional-tag-group"), {
contentType: "text/csv",
filename: "tags.csv",
});
const { data } = await axios.post(`${process.env.DISCOURSE_URL}/tags/upload.json`, formData, {
headers: {
...formData.getHeaders(),
"Api-Key": process.env.API_KEY,
},
});