Avatar in SSO-Synchronisierung zurücksetzen

Ein guter Ansatz, um herauszufinden, welchen API-Aufruf man tätigen muss, um eine Aktion auszuführen, besteht darin, die Aktion über die Discourse-Benutzeroberfläche durchzuführen und gleichzeitig den Netzwerk-Tab des Web-Inspectors zu beobachten, um Details über die getätigte Anfrage zu finden. Weitere Informationen zu diesem Ansatz finden Sie unter So reverse-engineern Sie die Discourse-API.

Benutzer-Avatare können auf den System-Avatar aktualisiert werden, indem eine API-PUT-Anfrage an folgende Adresse gesendet wird:

http://forum.example.com/u/<discourse_username>/preferences/avatar/pick

Setzen Sie type=system in den Formulardaten der Anfrage. Sie müssen die URL Ihres Forums und den Discourse-Benutzernamen, den Sie aktualisieren möchten, in die URL einsetzen.

Hier ist ein Beispiel für eine curl-Anfrage von meiner lokalen Seite. Ich habe $api_key auf meinen API-Schlüssel für alle Benutzer gesetzt:

curl -X PUT "http://localhost:3000/u/scossar/preferences/avatar/pick" \
-H "Api-Key: $api_key" \
-H "Api-Username: system" \
-H "Content-Type: multipart/form-data;" \
-F "type=system"

Ein wichtiger Hinweis: Diese Anfrage schlägt fehl, wenn die Site-Einstellung sso overrides avatar aktiviert ist.