Die Anfrage ist zur besseren Lesbarkeit vereinfacht.
Wie Sie sehen können, erlauben die Payload-Optionen das Löschen der vom Benutzer generierten Beiträge in derselben Anfrage, im Gegensatz zum Löschen der Beiträge vor der Kontolöschung, wenn Konten manuell auf der Admin-Seite gelöscht werden.
Ich erhalte jedoch eine 403 Access Denied-Fehlermeldung für diese Anfrage, obwohl der API-Schlüssel einen globalen Geltungsbereich hat und der Benutzer system ist:
{
"errors": ["You are not permitted to view the requested resource."],
"error_type": "invalid_access"
}
Funktioniert es, wenn Sie die im Leitfaden genannten Einstellungen ändern? Die Standardwerte blockieren möglicherweise die Benutzerlöschung. Nicht 100% sicher.
Ich bin mir über die Einzelheiten des Benutzers, den Sie zu löschen versuchen, nicht sicher, aber der Fehler, den Sie sehen, stammt wahrscheinlich von einer oder mehreren der folgenden Prüfungen, die nicht erfüllt sind.
Höchstwahrscheinlich liegt es an etwas im else-Block. Und ja, ich stimme zu, die Fehlermeldung könnte definitiv weniger vage sein .
Genau, @selase! Anscheinend hat mein Benutzer mehr Beiträge als User::MAX_STAFF_DELETE_POST_COUNT und einige sind auch älter als SiteSetting.delete_user_max_post_age
delete_user_max_posts: muss umbenannt worden sein in delete_user_self_max_post_count, seit der Artikel veröffentlicht wurde. Er ist auf 1 (Standard) gesetzt.
Die maximale Anzahl von Beiträgen, die ein Benutzer haben kann, während die Selbstbedienungs-Konto-Löschung erlaubt ist. Auf -1 setzen, um die Selbstbedienungs-Konto-Löschung zu deaktivieren.
delete_user_max_post_age ist auf 60 (Standard) gesetzt, und der Benutzer hat Beiträge, die älter als 60 Tage sind.
Erlaube nicht das Löschen von Benutzern, deren erster Beitrag älter als (x) Tage ist.
delete_all_posts_max ist auf 15 (Standard) gesetzt, und mein Benutzer hat 12 Beiträge.
Die maximale Anzahl von Beiträgen, die auf einmal mit dem Button “Alle Beiträge löschen” gelöscht werden können. Wenn ein Benutzer mehr als diese Anzahl von Beiträgen hat, können die Beiträge nicht alle auf einmal gelöscht werden und der Benutzer kann nicht gelöscht werden.
Nachdem ich die Einschränkungen beseitigt hatte, konnte ich meinen Benutzer über den API-Aufruf löschen.
{"deleted":true}
Und vielleicht könnten die API-Dokumentation auch diese Anforderung erwähnen, vielleicht?