Cómo recuperar el valor de user_api_keys a través de la API

No creo que sea posible recuperar el valor de una clave de API a través de la API. Discourse no guarda claves de API sin cifrar en la base de datos. Incluso si pudieras recuperar el valor cifrado, no habría forma de descifrarlo en tu aplicación.

¿Puedes explicar un poco más tu caso de uso? Si ya se ha generado una clave de API de usuario para un usuario, no me queda claro por qué necesitarían aprobar la autorización una segunda vez.

Editar: es posible usar una clave de API de administrador para generar una clave de API para un usuario. Algunos detalles sobre eso están aquí: Generate User Api Key Without User Approval - #2 by simon

Al releer mi publicación, veo que no expliqué cómo se estableció la variable $json para la solicitud. La forma más fácil de averiguar cómo estructurar los datos es hacer una solicitud para generar una única clave de API de usuario con los ámbitos que deseas usar a través de la interfaz de usuario de Discourse, luego observar el valor de la carga útil de la solicitud que se envía con la solicitud a /admin/api/keys:

2 Me gusta