Box.com使用api v2从salesforce创建/更新文件夹

Box.com使用api v2从salesforce创建/更新文件夹,api,salesforce,box,Api,Salesforce,Box,我正在尝试使用api版本2从salesforce中的控制器类在框中创建一个新文件夹。我正在接收访问令牌,并且还能够通过HTTP GET请求检索文件夹中的项目。 但我无法在收件箱中创建新文件夹。也无法将文件从一个文件夹复制到另一个文件夹或更新有关文件夹的信息。 以下是更新“我的文件夹”说明的代码: Http h = new Http(); HttpRequest req = new HttpRequest(); string endPointValue = 'ht

我正在尝试使用api版本2从salesforce中的控制器类在框中创建一个新文件夹。我正在接收访问令牌,并且还能够通过HTTP GET请求检索文件夹中的项目。 但我无法在收件箱中创建新文件夹。也无法将文件从一个文件夹复制到另一个文件夹或更新有关文件夹的信息。 以下是更新“我的文件夹”说明的代码:

 Http h = new Http();
        HttpRequest req = new HttpRequest();
        string endPointValue = 'https://api.box.com/2.0/folders/myfolder_id';
        req.setEndpoint(endPointValue);
        req.setHeader('Authorization', 'Bearer ' + myaccessToken);
        req.setBody('description=' + EncodingUtil.urlEncode('New', 'U`enter code here`TF-8'));       
        req.setMethod('POST');
        HttpResponse res = h.send(req); 


I am getting the following response:
{"type":"error","status":400,"code":"bad_request","context_info":{"errors":[{"reason":"invalid_parameter","name":"entity-body","message":"Invalid value 'description=New'. Entity body should be a correctly nested resource attribute name\/value pair"}]},"help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Bad Request","request_id":"my request Id"} 


Can anyone help me on this?
Thanks in advance!

根据文档,Box API需要JSON格式的请求参数,并且必须放置请求方法。请尝试以下操作:

Http h = new Http();
HttpRequest req = new HttpRequest();
string endPointValue = 'https://api.box.com/2.0/folders/myfolder_id';
req.setEndpoint(endPointValue);
req.setHeader('Authorization', 'Bearer ' + myaccessToken);
req.setBody('{"description" : "New folder description"}');       
req.setMethod('PUT');
HttpResponse res = h.send(req); 
另外,您还错误地使用了
EncodingUtil.urlEncode()
方法。第一个参数应该是您试图使URL安全的字符串,第二个参数是编码(请参阅文档)