0

Boxで簡単なフォルダを作成するのに使おうとしてRESTSharpいるのですが、なかなかうまくいきません。このエラーが発生し続けます:

{"type":"error","status":400,"code":"bad_request","help_url":"http://developers.box.com/docs/#errors","message":"可能性がありますJSON を解析しない","re​​quest_id":"1474540366505ba7a11bdcd"}

これは私のコードです:

static string box(string resourceURL, string APIKey, string authToken)
        {
            RestClient client = new RestClient();
            client.BaseUrl = "https://api.box.com/2.0";
            var request = new RestRequest(Method.POST);
            request.Resource = resourceURL;
            string Headers = string.Format("Authorization: BoxAuth api_key={0}&auth_token={1}", APIKey, authToken);
            request.AddHeader("Authorization", Headers);
            request.AddParameter("name", "TestFolder");

            // request.RequestFormat = DataFormat.Json;
            var response = client.Execute(request);
            return response.Content;
        }

私は何が欠けていますか?よろしくお願いします。

4

4 に答える 4

1

また、最近作成されたgithubリポジトリを確認することもできます。ここでは、一部の人々がC#BoxSDKで共同作業を行っています。 https://github.com/jhoerr/box-csharp-sdk-v2

于 2012-09-23T02:47:12.270 に答える
0

static string folderCreation(string APIKey, string authToken) {

    RestClient client = new RestClient();
    client.BaseUrl = "https://api.box.com/2.0/folders";
    var request = new RestRequest(Method.POST);
    string Headers = string.Format("Bearer {0}", authToken);
    request.AddHeader("Authorization", Headers);
    request.AddParameter("application/json", "{\"name\":\"Youka\",\"parent\":{\"id\":\"0\"}}", ParameterType.RequestBody);
    var response = client.Execute(request);
    return response.Content;



}
于 2014-02-25T12:56:39.093 に答える
0

ご協力いただきありがとうございます。これが最終的に機能した正確なコードです。

static string box(string APIKey, string authToken)
            {
                RestClient client = new RestClient();
                client.BaseUrl = "https://api.box.com/2.0";
                var request = new RestRequest(Method.POST);
                request.Resource = "/folders/0";
                string Headers = string.Format("BoxAuth api_key={0}&auth_token={1}", APIKey, authToken);
                request.AddHeader("Authorization", Headers);
                request.AddParameter("text/json", "{\"name\" : \"TestFolderName\"}", ParameterType.RequestBody);

                //request.RequestFormat = DataFormat.Json;
                var response = client.Execute(request);
                return response.Content;
            }
于 2012-09-21T18:17:48.950 に答える
0

2 つの問題があります。

  • URL は /folder/{folder_id} を指す必要があります (0 はルート フォルダーの ID です)
  • フォルダー名は、クエリ パラメーターではなく、要求の json 本文にある必要があります。

私は C# や RESTSharp にはあまり詳しくありませんが、このコードは 2 つの問題に対処できるはずだと思います。

static string box(string APIKey, string authToken)
            {
                RestClient client = new RestClient();
                client.BaseUrl = "https://api.box.com/2.0";
                var request = new RestRequest(Method.POST);
                request.Resource = "/folders/0";
                string Headers = string.Format("BoxAuth api_key={0}&auth_token={1}", APIKey, authToken);
                request.AddHeader("Authorization", Headers);
                request.AddParameter("text/json", "{\"name\" : \"TestFolderName\"}", ParameterType.RequestBody);

                //request.RequestFormat = DataFormat.Json;
                var response = client.Execute(request);
                return response.Content;
            }
于 2012-09-21T02:43:13.010 に答える