API / anonimizar o eliminar

¡Hola! Estamos utilizando Discourse alojado con OAuth. De repente nos dimos cuenta de que, al procesar eliminaciones, estamos olvidando borrar la cuenta de nuestra instancia de Discourse.

Me gustaría poder anonimizar una cuenta o eliminar una cuenta programáticamente mediante la API, pero no veo una forma sencilla de hacerlo, dado que no conozco el ID de la cuenta de Discourse.

¿Estoy pasando por alto algo obvio? ¿Alguna sugerencia?

Gracias,

Andrew

4 Me gusta

¿Sabes si las direcciones de correo electrónico coinciden entre tu proveedor de identidad OAuth y Discourse? Si es así, podrías obtener el usuario de Discourse basado en su dirección de correo electrónico realizando una solicitud de API autenticada a /admin/users/list/all.json?email=<users_email_address>. Por ejemplo:

curl -X GET "http://localhost:3000/admin/users/list/all.json?email=bob@example.com" \
-H "Api-Key: $api_key" \
-H "Api-Username: system"
5 Me gusta

Deberían coincidir, gracias: esa era la llamada que me faltaba. Verificando.

También estoy interesado en usar una llamada a la API para anonimizar a un usuario. ¿Cuál es el endpoint de la API que utilizas para anonimizar a un usuario?

El punto final de la API para anonimizar:

Método HTTP: PUT
Punto final: https://example-community.dev/admin/users/{id}/anonymize


Puedes usar la llamada mostrada arriba para obtener el valor de {id} si ya conoces el correo electrónico del usuario que deseas anonimizar.

7 Me gusta

¿Se eliminó el endpoint /anonymize de la documentación de la API?

Lo estaba buscando aquí:

Tanto en users como en admin.

2 Me gusta

Es posible que aún no se haya añadido a la documentación de la API, pero me aseguraré de que se documente pronto.

3 Me gusta

@sarahann se ha añadido la ruta /anonymize a la documentación de la API.

3 Me gusta

¡Uf! Me asustaste un momento :stuck_out_tongue:

¡Gracias por la rapidez con la que lo has resuelto!

1 me gusta