Sto integrando con l’API di Discourse usando RestSharp e riscontro un problema con i nomi utente contenenti caratteri non ASCII (in particolare le umlaut tedesche). Ho bisogno di impersonare un utente con nome utente foö (contiene ö).
Quando invio il nome utente grezzo nell’header Api-Username, ricevo: Request headers must contain only ASCII characters (Le intestazioni della richiesta devono contenere solo caratteri ASCII)
Quando codifico l’URL del nome utente (Uri.EscapeDataString("foö") → fo%C3%B), l’autenticazione fallisce con: {"errors":["Du bist nicht berechtigt, die angeforderte Ressource anzuzeigen. Der API-Benutzername oder -Schlüssel ist ungültig."],"error_type":"invalid_access"} (accesso negato / utente non esistente)
Sto usando una chiave API con privilegi di amministratore. Endpoint: POST /posts.json per creare argomenti per conto degli utenti.
Qual è il modo corretto per passare nomi utente con caratteri non ASCII nell’header Api-Username? Dovrei:
Usare un metodo di codifica diverso?
Usare invece un ID utente (se sì, quale nome di header)?