1

我一直在使用 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 + "&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 等参数实际上都进入了它。

4

2 回答 2

1

文档中的示例请求是针对 cURL 给出的,cURL 是一个用于发出 HTTP 请求的命令行工具,所以这就是示例所指的内容。

v2 Box API 是 RESTful 的,您可以在此处此处阅读更多信息。

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

您的代码示例表明您正在使用 .NET 进行开发,因此我建议您使用可用于 .NET 的 REST 库之一,其中许多都在此处列出。您可能还会发现使用 REST 客户端(例如Postman)来玩弄 API 很有帮助。

于 2012-04-27T04:05:18.327 回答
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);
于 2012-09-20T18:59:23.513 回答