无法使用“source”或Rest API网址从OneDrive下载文件(404错误)

时间:2015-03-24 21:29:26

标签: ios rest onedrive

我正在尝试从REST API获取OneDrive上的文件存储内容。 我使用iOS SDK(https://github.com/liveservices/LiveSDK-for-iOS)访问我的文件列表。 我从我要下载的对象中获取所有信息。所以我假设所有登录过程都没问题,我可以从当前会话中获取accessToken。

这是我的会话范围:

   scopes = [NSArray arrayWithObjects:
                      @"wl.signin",
                      @"wl.basic",
                      @"wl.skydrive",
                      @"wl.offline_access", nil];

我有“wl.skydrive”这是一个“先决条件”。

从我要下载的文件中获取此信息:https://msdn.microsoft.com/en-us/library/dn631831.aspx

文档说“源”对象包含一个临时URL,我可以在其中下载文件。但是我在尝试从源URL获取get,但是我收到了404 http响应(我的URL看起来非常类似于示例URL,所以应该没问题。)

以下是回复

url called: https://cr2vng.bn1302.livefilestore.com/y2mOPOvT5FDRrIRdKbCS3xtwQH9zz2gzzYPxLHIcOpHSo6bKP3QqJpGpL1U9c76a_QCwFwEPyTEbF2CVU63tb92bOkQ9ahcxAOhSBPws21K7DL5TnNe3AmbHThv4zlbohKiB8x6JO9gE2gjUcOUImPImA/01%20-%File%Name.mp3?psid=1
2015-03-24 21:55:20.339[1435:149631] response: <NSHTTPURLResponse: 0x7ff36af04ed0> { URL: https://cr2vng.bn1302.livefilestore.com/y2mOPOvT5FDRrIRdKbCS3xtwQH9zz2gzzYPxLHIcOpHSo6bKP3QqJpGpL1U9c76a_QCwFwEPyTEbF2CVU63tb92bOkQ9ahcxAOhSBPws21K7DL5TnNe3AmbHThv4zlbohKiB8x6JO9gE2gjUcOUImPImA/01%20-%File%Name.mp3?psid=1 } { status code: 404, headers {
"Accept-Ranges" = bytes;
"Content-Encoding" = gzip;
"Content-Length" = 0;
Date = "Tue, 24 Mar 2015 20:55:19 GMT";
P3P = "CP=\"BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo\"";
Server = "Microsoft-HTTPAPI/2.0";
"X-AsmVersion" = "UNKNOWN; 19.16.0.0";
"X-ClientErrorCode" = ItemDoesNotExist;
"X-MSNSERVER" = "BN1302____PAP221";
"X-QosStats" = "{\"ApiId\":0,\"ResultType\":2,\"SourcePropertyId\":0,\"TargetPropertyId\":42}";
"X-ThrowSite" = "4359.b800";
} }

我还尝试使用REST API(https://msdn.microsoft.com/EN-US/library/office/dn659726.aspx#Download_a_file)执行相同的请求,结果相同。使用该API调用,我终于重定向到了“源”对象上的类似URL。

这两种情况下的404都没有意义,因为我正在从那个存在的对象那里获得“id”。

我的OneDrive开发者帐户上的应用配置可能有问题吗?

1 个答案:

答案 0 :(得分:0)

奇怪的是,我的所有文件都从OneDrive中消失,再次上传后我可以使用“源”上的URL访问文件而没有任何问题。

我没有对代码进行任何更改

相关问题