2015-12-08 155 views
0

OneDrive可以選擇從iOS應用程序創建文件夾。我有以下方法的幫助下創造了它:我在這裏創造在iOS中創建文件夾OneDrive中的文件夾

[self.liveClient postWithPath:@"me/skydrive" dictBody:newFolder delegate:self userState:@"create folder"]; 
newFolder = NSDictionary with folder details including folder name. 

文件夾名稱是xyz

現在,當我試圖創建一個具有以下路徑這個特殊的文件夾內的一個子文件:

[self.liveClient postWithPath:@"me/skydrive/xyz" dictBody:newFolder delegate:self userState:@"create folder"]; 

這裏xyz是現在一個驅動器內的現有文件夾。

但現在它拋出我下面的錯誤:

LiveServicesErrorDomain錯誤5.

+0

你有沒有簽出[新的OneDrive API](https://dev.onedrive.com/)和相關的[iOS SDK](https://github.com/onedrive/onedrive-sdk-ios)?我建議沿着這條路線而不是使用舊的API。 – Brad

+0

終於成功了!在獲取文件「me/skydrive/files」時創建xyz文件夾後,它會返回包含skydive上的文件夾ID的特定文件夾信息的字典,只需使用該文件夾ID作爲在其中創建新文件夾的路徑即可。 – sinner

+0

感謝您爲我們更新Sandeep!你能否寫下並接受你對這個問題的回答,以便其他人可以看到你在沒有閱讀評論的情況下找出答案? – Brad

回答

2

這裏是解決方案。

第一步:

首先通過下述方法創建所述一個驅動器的根的文件夾:

[self.liveClient postWithPath:@"me/skydrive" dictBody:newFolder delegate:self userState:@"create folder"]; 

newFolder = NSDictionary中與文件夾的信息,包括文件夾名稱。 命名子文件夾名稱讓任何說abc

這將創建一個驅動器雲的根目錄上的xyz文件夾。

第二步:

魂在一個驅動雲創建的XYZ文件夾的路徑。這樣做使用以下查詢:

[self.liveClient getWithPath:@"me/skydrive/files" delegate:self userState:@"me/skydrive/files"]; 

對此你會以JSON格式的形式,這實際上字典的陣列接收數據。對於特定於xyz文件夾的字典,會有一個鍵名稱爲「id」,其值將是xyz文件夾內的路徑。

第三步:

現在,創建子文件夾中運行以下查詢:

[self.liveClient postWithPath:id dictBody:newFolder delegate:self userState:@"create subfolder"]; 

newFolder =的NSDictionary與文件夾詳細信息,包括文件夾名稱。

id = id是在步驟2中獲取的文件夾xyz的路徑。

這將在一個驅動器雲上的xyz文件夾內創建abc子文件夾。

相關問題