如何在 Api-Username 标头中处理非 ASCII 字符?

您好,

我正在使用 RestSharp 集成 Discourse API,但在使用包含非 ASCII 字符(特别是德语变音符号)的用户名时遇到了问题。我需要模拟用户名为 foö(包含 ö)的用户。

当在 Api-Username 标头中发送原始用户名时,我收到:请求头中只允许包含 ASCII 字符

当对用户名进行 URL 编码时(Uri.EscapeDataString("foö")fo%C3%B6),身份验证失败,返回:{"errors":["您无权查看所请求的资源。API 用户名或密钥无效。"],"error_type":"invalid_access"}(访问被拒绝/用户不存在)

我使用的是具有管理员权限的 API 密钥。端点:POST /posts.json,用于代表用户创建主题。

传递包含非 ASCII 字符的用户名到 Api-Username 标头的正确方法是什么?我应该:

  1. 使用不同的编码方法?
  2. 改用用户 ID(如果是,使用哪个标头名称)?
  3. 完全使用其他方法?

感谢您的指导!