0

新しい API を使用してフォルダーを作成しようとしています。

フォルダ名にキリル文字が含まれていると、HTTP 400 Bad Request を受け取ります。ただし、ラテン文字では問題なく機能します。

それは既知の問題ですか?

4

2 に答える 2

3

私はここで正しい答えを見つけました: HTTP POST リクエストの文字エンコーディングの検出

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);
}
于 2012-07-08T18:22:59.830 に答える
-1

通常、Box API呼び出しに国際文字が含まれる複雑な問題は、リクエストのエンコーディングをわずかに調整するだけで済みます。ターゲットフォルダ名をurlencodeでエンコードするだけでいいのではないかと思います。

それでもうまくいかない場合は、サンプルリクエストまたはコードスニペットを送信すると、さらにサポートできる可能性があります。その場合は、APIキーと認証トークンを自分で保持してください。

于 2012-07-08T17:27:56.727 に答える