Ahora que hay una llamada de API para Merge Users, ¿cómo se llama?

Hola,

Ayer inicié un tema (ahora cerrado) sobre cómo llamar al plugin Merge Users de forma programática, y Rafael amablemente me remitió a las notas de la versión, donde se menciona que el plugin ahora cuenta con una interfaz de usuario (Discourse 2.5.0.beta3 Release Notes). Lamentablemente, mis conocimientos sobre la API de Discourse no me permiten traducir esa información en una llamada a la API. Esto es algo que necesitaremos realizar desde nuestra aplicación con bastante frecuencia. ¿Podrías ayudarme, por favor?

Gracias de antemano,

Mark Pemburn
Blue Ocean Ideas

El botón es visible en la parte inferior de la página de administración de un usuario.

image

Si abres las herramientas de desarrollador de tu navegador mientras lo usas, verás la solicitud que debe realizarse.

Hola Kane,

¡Gracias por el consejo! Me tomó un tiempo poder crear algunos usuarios en mi Discourse sandbox, pero hoy logré hacerlo. Tomé lo que aprendí del panel de Red de las herramientas de desarrollo e intenté replicarlo mediante Postman. Estos son los valores:

Método: POST
Endpoint: https://my-discourse-sandbox/admin/users/{ID de usuario de origen}/merge.json

Encabezados:

Content-Type: multipart/form-data
Accept: application/json

Parámetros:

Api-Key: {crear mediante la interfaz de usuario}
Api-Username: system
context: /admin/users/{ID de usuario de origen}/{nombre de usuario de origen}
target_username: {nombre de usuario de destino}

La respuesta fue:

    {
        "errors": [
            "La URL o el recurso solicitado no se pudo encontrar."
        ],
        "error_type": "not_found"
    }

¿Tienes alguna idea de qué estoy haciendo mal?

Todo parece correcto a primera vista. ¿Has verificado que el valor de target_username exista?

Kane,

Sí, tanto el origen como el destino son usuarios actuales. Si elimino los encabezados, recibo una página HTML que dice: “¡Vaya! Esa página no existe o es privada.” La parte de “la página no existe” es comprensible para un error 404, pero no estoy seguro de qué implica “privada” aquí.

Mark

@mpemburn ¿tuviste algún éxito con esto?

Estoy migrando algunas listas de correo a una instancia de discourse. Dado que muchas personas usaron diferentes correos electrónicos, la transferencia crea muchos usuarios provisionales por persona real. Me gustaría automatizar la fusión de usuarios a través de la API.