Wir verwenden API-Aufrufe von einem externen Programm, um einige Themen automatisch zu erstellen.
Wir möchten nun automatisch das Logo-Bild einiger Kategorien ändern, indem wir das Bild aus einigen zuvor erstellten Beiträgen in Discourse extrahieren.
In der API-Dokumentation konnten wir jedoch keine Option finden, das Logo-Bild von Kategorien festzulegen, nur Farbe, Namen oder Textfarbe. Discourse API Docs
Gibt es eine Möglichkeit, das zu tun?
Schauen wir an der falschen Stelle in der Dokumentation?
Vielen Dank, ich werde es mir genauer ansehen.
Es scheint, dass Sie es mit dem Entwicklertools des Browsers analysieren können.
Aber bei dem Logo-Bild einer Kategorie gibt es keinen Bearbeitungsmodus, nur eine Schaltfläche, um ein Dialogfeld zum Auswählen zu öffnen, und ich sehe im Browser nicht, welches Feld Discourse aktualisiert.
Das Problem, das ich habe, ist, dass es keine PUT-Methode gibt, um das Logo festzulegen.
Es gibt eine POST-Methode, mit der Sie alle Kategorieeigenschaften festlegen können.
Aber diese POST-Methode dient zum Erstellen einer Kategorie, nicht zum Aktualisieren und Ändern der Kategorieeigenschaften.
Vielleicht kann sie auf irgendeine Weise zum Aktualisieren der Kategorie verwendet werden.
Wenn Sie ein Logo hochladen, wird der Endpunkt uploads.json mit dem Bild aufgerufen. Wenn dies erfolgreich ist, erhalten Sie eine ID in der Antwort.
Rufen Sie nun den Endpunkt auf, den Sie zuvor gesehen haben, und verwenden Sie den Parameter uploaded_logo_id mit der id, die Sie im vorherigen Schritt erhalten haben.
Ich habe versucht, es mit den Entwicklertools des Browsers zu reverse-engineeren.
Ja, es scheint, dass Sie zuerst uploads.json zum Hochladen verwenden.
In unserem Fall ist das Bild bereits im System, da es ein Foto ist, das in einen Beitrag eingebettet ist. Ich stelle mir also vor, dass wir die ID aus dem Beitrag erhalten können.