我有2個OneDrive帳戶。 帳戶A與帳戶B共享一個文件夾。 我使用帳戶B登錄並希望通過REST將帳戶A的共享文件夾複製到帳戶B中的文件夾。OneDrive API(REST),在不同的OneDrive帳戶之間複製文件/文件夾
我知道OneDrive直播SDK文檔說: https://msdn.microsoft.com/en-us/library/dn659743.aspx
複製操作的目標必須是一個文件夾。文件夾本身不能被複制。此外,OneDrive存儲的結構使得複製操作不會發生在不同用戶的OneDrive文件夾層次結構之間。例如,即使用戶A可以閱讀用戶B的文件,用戶A也不能將其複製到他或她自己的OneDrive文件夾中。
我不使用實時API https://apis.live.net/v5.0/
但OneDrive API https://api.onedrive.com/v1.0/
當我複製的文件夾在我自己的OneDrive文件夾,一切都很好:
POST https://api.onedrive.com/v1.0/drive/root:/test:/action.copy
Authorization: Bearer {ACCESS TOKEN}
Content-Type: application/json
Prefer: respond-async
{
"parentReference" : {"path": "/drive/root:/target"}
}
當我想通過Fiddler中的REST訪問帳戶A的文件夾時,我得到以下錯誤。
REST調用:
POST https://api.onedrive.com/v1.0/drives/38A2C8D42D476A18/root:/test:/action.copy
Authorization: Bearer {ACCESS TOKEN}
Content-Type: application/json
Prefer: respond-async
{
"parentReference" : {"path": "/drive/root:/target"}
}
錯誤響應:
{"error":{"code":"itemNotFound","message":"Item does not exist"}}
我使用的範圍是:
- onedrive.readwrite
- wl.signin
- wl.skydrive
- wl.skydrive_update
- wl.contacts_skydrive