2015-03-24 262 views
0

我試圖從REST API獲取OneDrive上文件存儲的內容。 我使用iOS SDK訪問我的文件列表(https://github.com/liveservices/LiveSDK-for-iOS)。 我從我想要下載的對象中獲取所有信息。所以我認爲所有的登錄過程都可以,我可以從當前會話中獲取accessToken。無法使用「源」或Rest API url(404錯誤)從OneDrive下載文件

這是我的會話範圍:

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

我有 「wl.skydrive」,這是一個 「preresquisite」。

,從我要下載我得到這個信息的文件:https://msdn.microsoft.com/en-us/library/dn631831.aspx

的文件說,「源」對象包含一個臨時URL,我可以下載該文件。但是,我嘗試從源URL獲取,但我收到一個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開發人員帳戶上的應用配置有問題嗎?

回答

0

奇怪的是,我的所有文件都從OneDrive中消失,再次上傳後,我可以使用我在「源代碼」中獲得的URL訪問這些文件,而不會出現任何問題。我對代碼

沒有做任何修改