Box API v2创建文件夹,其中包含西里尔字母

时间:2012-07-08 03:02:32

标签: c# box-api

我正在尝试使用新API创建文件夹。

如果文件夹名称包含西里尔字母,我会收到HTTP 400错误请求。 但是拉丁字母可以正常工作。

它是否已知问题?

2 个答案:

答案 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密钥和身份验证令保留给自己。