[英]Dropbox Request URL path to file C#
我有OneDrive和Google Drive成功处理了分块下载,但是Dropbox让我感到悲伤,因为我无法获取文件的正确http请求路径。
我不是休息网址和终结点方面的专家,也许有人可以为我指出最新UWP SDK可接受的保管箱请求格式的正确方向。
using (var httpRequest = new HttpRequestMessage())
{
string url = "https://content.dropboxapi.com/1/files/auto" + uri;
string accessKey = ApplicationData.Current.LocalSettings.Values[CommonData.dropboxAccessToken_Key].ToString();
httpRequest.Method = HttpMethod.Get;
httpRequest.RequestUri = new Uri(url);
httpRequest.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", accessKey);
}
我已经阅读了Dropbox上的文档,但格式尚不清楚,也找不到任何清晰的示例。
再次感谢!
根据您的代码,这里的问题出在您的授权标头中。 对于Dropbox API,正确的授权标头应如下所示:
Authorization: Bearer <access token>
所以我们应该将httpRequest.Headers.Authorization
更改为
httpRequest.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
然后您的代码应该可以正常工作。 例如,使用“ temp”文件夹下的“ file.mp3”。
该代码可能喜欢:
var uri = "/temp/file.mp3";
using (var httpClient = new HttpClient())
{
using (var httpRequest = new HttpRequestMessage())
{
string url = "https://content.dropboxapi.com/1/files/auto" + Uri.EscapeDataString(uri);
httpRequest.Method = HttpMethod.Get;
httpRequest.RequestUri = new Uri(url);
httpRequest.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken);
var response = await httpClient.SendAsync(httpRequest);
if (response.IsSuccessStatusCode)
{
//TODO
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.