.net Box API 2.0下载文件

.net Box API 2.0下载文件,.net,rest,box-api,.net,Rest,Box Api,正在尝试使用新API下载文件。但我收到一个错误(未找到) 使用旧的API,我下载了很好的: wcGetFile.DownloadStringAsync(new Uri("https://www.box.net/api/1.0/download/" + auth_token + "/2111821875")); 使用新API,这是我的代码: wcGetFile.Headers[HttpRequestHeader.Authorization] = "BoxAuth api_key=" + api_

正在尝试使用新API下载文件。但我收到一个错误(未找到)

使用旧的API,我下载了很好的:

wcGetFile.DownloadStringAsync(new Uri("https://www.box.net/api/1.0/download/" + auth_token + "/2111821875"));
使用新API,这是我的代码:

wcGetFile.Headers[HttpRequestHeader.Authorization] = "BoxAuth api_key=" + api_key + "&auth_token=" + auth_token;
        wcGetFile.DownloadStringAsync(new Uri("https://api.box.com/2.0/files/2111821875/data"));
该文件确实存在,因为如果我在通话结束时删除“数据”,我将获得无错误的文件信息

wcGetFile.Headers[HttpRequestHeader.Authorization] = "BoxAuth api_key=" + api_key + "&auth_token=" + auth_token;
        wcGetFile.DownloadStringAsync(new Uri("https://api.box.com/2.0/files/2111821875"));

根据文档,信息和实际文件之间的唯一区别是url的“数据”部分。但这似乎对我不起作用

看来我们这边遇到了一个小bug,它阻止了下载。如果你使用'https://www.box.com/“而不是”https://api.box.com/“下载应该可以。不过,我们现在正在修复这个bug

我不确定您是否仍然对答案感兴趣,但这段代码对我来说很有用:

public static Task DownloadFile(string fileId, string location, string authToken) {
    var auth = string.Format("Authorization: BoxAuth api_key={0}&auth_token={1}", ApiKey, authToken);
    var uri = new Uri(string.Format("https://api.box.com/2.0/files/{0}/data", fileId));

    var client = new WebClient();
    client.Headers.Add(auth);
    return client.DownloadFileTaskAsync(uri, location);
}