Olá,
Estou integrando com a API do Discourse usando RestSharp e estou encontrando um problema com nomes de usuário contendo caracteres não-ASCII (especificamente umlauts alemães). Preciso me passar por um usuário com o nome de usuário foö (contém ö).
Ao enviar o nome de usuário bruto no cabeçalho Api-Username, recebo: Request headers must contain only ASCII characters (Os cabeçalhos da requisição devem conter apenas caracteres ASCII)
Ao codificar a URL do nome de usuário (Uri.EscapeDataString("foö") → fo%C3%B6), a autenticação falha com: {"errors":["Du bist nicht berechtigt, die angeforderte Ressource anzuzeigen. Der API-Benutzername oder -Schlüssel ist ungültig."],"error_type":"invalid_access"} (acesso negado / usuário não existente)
Estou usando uma chave de API com privilégios de administrador. Endpoint: POST /posts.json para criar tópicos em nome de usuários.
Qual é a maneira correta de passar nomes de usuário com caracteres não-ASCII no cabeçalho Api-Username? Devo:
- Usar um método de codificação diferente?
- Usar um ID de usuário em vez disso (se sim, qual nome de cabeçalho)?
- Algo totalmente diferente?
Agradeço qualquer orientação!