我正在尝试使用新API创建文件夹。
如果文件夹名称包含西里尔字母,我会收到HTTP 400错误请求。 但是拉丁字母可以正常工作。
它是否已知问题?
答案 0 :(得分:3)
我在这里找到了正确答案:Detecting the character encoding of an HTTP POST request
HTTP POST的默认编码是ISO-8859-1。
我唯一需要的是手动设置请求的编码。 顺便说一句,这是工作代码:
public static Task<string> Post(string url, string data, string authToken) {
var client = new WebClient { Encoding = Encoding.UTF8 };
client.Headers.Add("Content-Type:application/x-www-form-urlencoded");
client.Headers.Add(AuthHeader(authToken));
return client.UploadStringTaskAsync(new Uri(url), "POST", data);
}
答案 1 :(得分:-1)
通常,涉及Box API调用中的国际字符的复杂性只需要对请求的编码进行微调。我猜你只需要用urlencode对目标文件夹名称进行编码。
如果这不起作用,如果您发送样本请求或代码段,我们可能会提供更多帮助。如果这样做,请将api密钥和身份验证令保留给自己。