Hola,
Estoy integrando con la API de Discourse usando RestSharp y me encuentro con un problema con los nombres de usuario que contienen caracteres no ASCII (específicamente umlauts alemanes). Necesito suplantar a un usuario con el nombre de usuario foö (contiene ö).
Al enviar el nombre de usuario sin procesar en la cabecera Api-Username, recibo: Request headers must contain only ASCII characters (Las cabeceras de la solicitud deben contener solo caracteres ASCII).
Al codificar la URL del nombre de usuario (Uri.EscapeDataString("foö") → fo%C3%B), la autenticación falla con: {"errors":["Du bist nicht berechtigt, die angeforderte Ressource anzuzeigen. Der API-Benutzername oder -Schlüssel ist ungültig."],"error_type":"invalid_access"} (acceso denegado / usuario no existente).
Estoy utilizando una clave de API con privilegios de administrador. Endpoint: POST /posts.json para crear temas en nombre de los usuarios.
¿Cuál es la forma correcta de pasar nombres de usuario con caracteres no ASCII en la cabecera Api-Username? ¿Debería:
- Usar un método de codificación diferente?
- Usar un ID de usuario en su lugar (si es así, ¿qué nombre de cabecera)?
- ¿Algo completamente diferente?
¡Gracias por cualquier orientación!