Microsoft graph api 在站点库之间移动文件

Microsoft graph api 在站点库之间移动文件,microsoft-graph-api,onedrive,Microsoft Graph Api,Onedrive,我创建了与Microsoft Graph集成的应用程序,允许用户管理其SharePoint网站中的文件 我在不同站点库(列表、驱动器)之间遇到问题 站点a请求如下所示: PATCH https://graph.microsoft.com/v1.0/sites/{id}/drives/{id}/root:/myfile.docx 新的目的地设置如下: /sites/{id}/drives/{id}/root:/myfolder 如果源驱动器与目标驱动器相同,则此请求工作正常。但是如果它们不同

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

我在不同站点库(列表、驱动器)之间遇到问题

站点a请求如下所示:

PATCH
https://graph.microsoft.com/v1.0/sites/{id}/drives/{id}/root:/myfile.docx
新的目的地设置如下:

/sites/{id}/drives/{id}/root:/myfolder 
如果源驱动器与目标驱动器相同,则此请求工作正常。但是如果它们不同(站点的不同顶级文件夹),我会得到以下错误:

提供的参数之一是不可接受的

有什么解决办法吗? 可能不允许在不同的驱动器之间移动文件

更新

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

我可以从A移动到A/B。但不能从A/B移动到A/B

请求看起来像

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中返回)

您的请求有几个问题:

  • 您不能在目的地中使用
    root:
    ,您需要使用实际的
    id

  • 您需要发布一个带有
    应用程序/json
    主体的
    补丁
    ,如下所示:

  • {
    “家长参考”:{
    “id”:“{目的地id}”
    },
    “名称”:“myfile.docx”
    }
    
    您的请求有几个问题:

  • 您不能在目的地中使用
    root:
    ,您需要使用实际的
    id

  • 您需要发布一个带有
    应用程序/json
    主体的
    补丁
    ,如下所示:

  • {
    “家长参考”:{
    “id”:“{目的地id}”
    },
    “名称”:“myfile.docx”
    }
    
    是。我使用贴片体。root:如果我将文件移动到它所在的列表(库)的根目录下,效果很好。但是如果其他的库不起作用。对其他库的根目录为否,对任何子文件夹为否。您不能使用路径,您需要从根文件夹中指定实际的
    id
    。在驱动器之间移动时不支持路径(即
    根:
    )。我尝试使用ID。每个库有2个ID。On是在请求SITEID/列表时为其返回的ID,而其他ID是由SITEID/驱动器返回的。我两个都试过了,但两个都找不到。这不是驱动器id,而是根文件夹id。请尝试从
    SITEID/drives/DRIVEID/root
    获取的I。是的。我使用贴片体。root:如果我将文件移动到它所在的列表(库)的根目录下,效果很好。但是如果其他的库不起作用。对其他库的根目录为否,对任何子文件夹为否。您不能使用路径,您需要从根文件夹中指定实际的
    id
    。在驱动器之间移动时不支持路径(即
    根:
    )。我尝试使用ID。每个库有2个ID。On是在请求SITEID/列表时为其返回的ID,而其他ID是由SITEID/驱动器返回的。我两个都试过了,但两个都没有找到。这不是驱动器id,而是根文件夹id。请尝试从
    SITEID/drives/DRIVEID/root
    获取的I。