我一直在使用box-api v1.0,现在看到有一个新的,并希望利用它。但是我对REST很新,并且不太了解该怎么做。
获取文件夹的代码是:
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 + "¶ms[]=onelevel¶ms[]=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 :(得分:1)
文档中的示例请求是针对cURL给出的,cURL是一个用于发出HTTP请求的命令行工具,因此这就是示例所引用的内容。
v2 Box API是RESTful,您可以阅读有关here和here的更多信息。
简而言之,您尝试获取相关信息的文件夹的文件夹ID应插入显示FOLDER_ID的资源网址中。
您的代码示例表明您正在使用.NET进行开发,因此我建议使用一个适用于.NET的REST库,其中许多是which are listed here。您可能还会发现使用Postman等REST客户端来使用API会很有帮助。
答案 1 :(得分:1)
简单来说,只需忽略BOX文档中编写示例的方式。他们只需要以独立于编程语言的方式显示信息,在这种情况下,他们选择了命令行语法。
-H是指您在发出HTTP请求时将传入的标头信息。
不确定它在.NET中是怎么回事,但在使用cURL库的PHP中,它会是这样的:
$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);