您好,
我正在使用 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 标头的正确方法是什么?我应该:
- 使用不同的编码方法?
- 改用用户 ID(如果是,使用哪个标头名称)?
- 完全使用其他方法?
感谢您的指导!