所以我将文件放到一个驱动器上,我的URI看起来像 https://apis.live.net/v5.0/me/skydrive/files/?access_token=12345
但是,如果我尝试将文件夹更改为,例如,Documents:
https://apis.live.net/v5.0/me/skydrive/files/Documents?access_token=12345
或
https://apis.live.net/v5.0/me/skydrive/Documents/files?access_token=12345
我将收到HTTP 400(错误的请求错误)。
一个"解决方法"可以查询onedrive的顶级目录,通过从第一个URI读取JSON响应来完成,然后为所需的文件夹取出upload_location,但是我觉得这有点长啰嗦。来自上传文件部分 https://msdn.microsoft.com/en-us/library/dn659726.aspx 我得到的印象是我应该能够指定一个友好的文件夹路径。
我很肯定这是一个非常简单的答案,但我已经浪费了足够长的时间,并希望这将成为那些有相同问题的人的资源(避风港)除了这里没有答案的问题http://answers.microsoft.com/en-us/onedrive/forum/sdfiles-sdupload/how-to-upload-a-file-to-a-specific-folder-created/0d57e43c-a3ec-42fc-b3b7-f15a17b2836f)
之外能够找到其他地方由于
答案 0 :(得分:1)
根据您的示例,我认为您只需要更改文档 - > my_documents然后场景将像你想要的那样工作。以下是documentation的相关摘录。
使用友好名称访问某些OneDrive文件夹 要访问某些OneDrive文件夹,您可以使用友好名称而不是文件夹ID。使用以下友好名称访问OneDrive UI中的这些相应文件夹:
在每种情况下,将USER_ID替换为我的登录用户或任何其他同意用户的用户ID。 例如,要阅读Documents文件夹的属性,请使用REST API调用文件夹的ID,如下所示。
GET https://apis.live.net/v5.0/folder.a6b2a7e8f2515e5e.A6B2A7E8F2515E5E!110?access_token=ACCESS_TOKEN
答案 1 :(得分:0)
尝试以下链接中列出的API: https://dev.onedrive.com/README.htm# 这些对我来说很好。