【问题标题】:Creating nested folder in Sharepoint with Graph API fails使用 Graph API 在 Sharepoint 中创建嵌套文件夹失败
【发布时间】:2021-03-15 01:00:34
【问题描述】:

我可以使用以下 Graph 请求(使用 beta API)在(个人)OneDrive 中创建嵌套文件夹 /folder1/folder2

POST drives/{id}/root:/folder1:/children

{
  "name": "folder2",
  "folder": {},
  "@microsoft.graph.conflictBehavior": "fail"
}

这里,folder1 事先并不存在;一个 API 调用同时创建了它和 folder1/folder2

但是,对于 SharePoint 和 OneDrive for Business,相同的代码会失败,并出现 404 错误。是否支持这种类型的请求?我宁愿不必为每个嵌套级别都进行单独的 API 调用。

我问这个是因为我不确定我的网站是否有导致请求失败的政策,或者因为 API 实际上不支持它。

【问题讨论】:

  • AFAIK,您应该提供父文件夹的文件夹名称(同时提供路径)或文件夹 ID(同时提供 id)以在其中创建一个子文件夹,因为 documentation 应该有 @ 987654326@ 创建文件夹。正如你所说,唯一的方法是为每个级别进行单独的 API 调用。您可以在创建文件夹时在响应中获取路径属性,您可以使用它轻松地自动调用。
  • @ShivaKeshavVarma 上面的代码适用于个人 OneDrive;我已经验证过了
  • 尽管文档没有提及
  • 是的,我也在个人中测试过它,但不能使用工作帐户。

标签: sharepoint microsoft-graph-api onedrive


【解决方案1】:

这对我有用。从正文中删除name 参数并使用PATCH 而不是POST。在 URL 中指定路径。

PATCH drives/{id}/root:/folder1/folder2

{
    "folder": {},
    "@microsoft.graph.conflictBehavior": "fail"
}

使用 v1.0beta 测试 OneDrive for Business。

【讨论】:

  • 天哪,不知道你可以使用 PATCH 创建一个新的文件/文件夹。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-18
  • 1970-01-01
相关资源
最近更新 更多