盒API 2.0下载文件(Box API 2.0 downloading file)

2019-10-16 16:00发布

尝试使用新的API来下载文件。 但是,我得到一个错误(NOTFOUND)

随着旧的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的“数据”部分。 但是,这似乎并没有为我工作。

Answer 1:

看起来我们正在经历在我们这边是问题,导致下载一个小错误。 如果使用“https://www.box.com/”,而不是“https://api.box.com/”下载应该工作。 我们正在努力,现在修复bug,但是!



Answer 2:

我不知道你是否仍然有兴趣在回答,但是这个代码很适合我:

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);
}


文章来源: Box API 2.0 downloading file