在站点库之间移动文件

时间:2017-11-21 13:18:52

标签: microsoft-graph onedrive

我创建了与Microsoft Graph集成的应用程序,允许用户管理其SharePoint站点中的文件。

我在不同的站点库(列表,驱动器)之间遇到moving a files问题。

网站请求如下:

PATCH
https://graph.microsoft.com/v1.0/sites/{id}/drives/{id}/root:/myfile.docx

新目的地的设置如下:

/sites/{id}/drives/{id}/root:/myfolder 

如果源驱动器与目标驱动器相同,则此请求可以正常工作。但如果它们不同(网站的不同顶级文件夹),我会收到此错误:

  

其中一个提供的参数是不可接受的。

有没有解决方法? 也许不允许在不同的驱动器之间移动文件?

更新。

此外,我发现将文件移动到文件夹的顶部并不起作用。如果站点具有文件夹A(列表或库),则无法将文件从某个子文件夹移动到该文件夹​​。从A / B到A。

我可以从A移动到A / B. BUt无法从A / B移动到A.

请求看起来像

PATCH https://graph.microsoft.com/v1.0/sites/SITEID/drives/LISTDRIVEID/root:/_trash/B/15.docx

{"parentReference":{"path":"\/sites\/SITEID\/drives\/LISTDRIVEID\/root"}}

LISTDRIVEID是作为驱动器的顶级文件夹的ID(在SITEID / drives / request中返回)

1 个答案:

答案 0 :(得分:0)

您的请求存在以下几个问题:

  1. 您无法在目的地中使用root:,您需要使用实际的id值。

  2. 您需要发布PATCH application/json正文,如下所示:

  3. {
        "parentReference": {
            "id": "{destination-id}"
        },
        "name": "myfile.docx"
    }