2012-04-27 128 views
1

我一直在使用box-api v1.0,现在看到有一个新的,并希望利用它。不过,我对REST很陌生,不太明白在这里做什么。Box-API调用示例

我对获得文件夹的代码是这样的:

wcGetFolders.OpenReadAsync(new Uri("https://www.box.net/api/1.0/rest?action=get_account_tree&api_key=" + api_key + "&auth_token=" + auth_token + "&folder_id=" + currentFolder + "&params[]=onelevel&params[]=nozip")); 

但是现在有了新的API,我如何将字符串格式不确定。

以前我能够把所有的参数放在uri里面。

我还能这样做吗?

新的API帮助表示请求如下:

https://api.box.com/2.0/folders/FOLDER_ID \ 
-H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN" \ 

我不知道做什么用的反斜线和引号呢,基本上我不知道一切是如何格式化uri,即使所有的-h等参数都真的进入了它。

+0

我觉得我的工作了。 -H代表我想的标题。我现在已经为我的WebCall添加了一个标题 – zawisza 2012-04-27 03:51:20

回答

1

本文档中的示例请求是为cURL(一种用于发出HTTP请求的命令行工具)提供的,因此这就是示例引用的内容。

v2 Box API是RESTful,您可以阅读更多关于herehere的信息。

简而言之,您试图获取信息的文件夹的文件夹ID应该插入到显示FOLDER_ID的资源URL中。

您的代码示例表明您正在使用.NET进行开发,因此我建议您使用可用于.NET的REST库之一,其中许多为which are listed here。您也可能发现利用REST客户端(例如Postman)来播放API很有帮助。

1

简而言之,就是忽略BOX文档中例子的写法。他们只需要以独立于编程语言的方式显示信息,在这种情况下,他们选择了命令行语法。

-H表示您在发出HTTP请求时将传入的标头信息。

不知道它怎么会在.NET中,但在PHP中使用cURL库,这将是这样的:

$crl = curl_init(); 

curl_setopt($crl, CURLOPT_URL, 'https://www.box.com/api/2.0/folders/0'); 
curl_setopt($crl, CURLOPT_HTTPHEADER, array('Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN',)); 
curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true); 

$results = curl_exec($crl); 

curl_close($crl);