簡體   English   中英

使用C#和RESTSharp在包裝盒上創建文件夾

[英]Creating a folder on box using C# and RESTSharp

我正在嘗試使用RESTSharp在Box上創建一個簡單的文件夾,但是我遇到了RESTSharp 我不斷收到此錯誤:

{“類型”:“錯誤”,“狀態”:400,“代碼”:“ bad_request”,“ help_url”:“ http://developers.box.com/docs/#errors”,“消息”:“可以無法解析JSON”,“ request_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;
        }

我想念什么? 在此先感謝您的幫助。

您可能還想看看最近創建的github存儲庫,其中一些人正在使用C#Box SDK進行協作。 https://github.com/jhoerr/box-csharp-sdk-v2

我看到兩個問題:

  • URL需要指向/ folder / {folder_id}(0是根文件夾的ID)
  • 文件夾名稱必須在請求的json主體中,而不是查詢參數中

我對C#或RESTSharp不太熟悉,但是我相信這段代碼應該可以解決這兩個問題。

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;
            }

感謝您的幫助,這是最終有效的確切代碼。

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;
            }

靜態字符串folderCreation(字符串APIKey,字符串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;



}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM