【问题标题】:How to perform a resumable Upload to a SharePoint Site (Not Root) Subfolder using MS Graph API如何使用 MS Graph API 执行可恢复上传到 SharePoint 站点(非根)子文件夹
【发布时间】:2020-03-01 01:11:50
【问题描述】:

文档:

https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0

我可以使用站点/域/驱动器 api 获取子站点的驱动器 ID。使用这个和 driveId/root/children 我可以确认这个驱动器上的几个文件夹。

如果我使用 API POST /drives/{driveId}/items/{itemId}/createUploadSession 将 driveId 替换为驱动器 ID,将 itemId 替换为文件夹 ID,我会收到以下错误

{
  "error": {
    "code": "nameAlreadyExists",
    "message": "Cannot create an upload session on a folder",
    "innerError": {
      "request-id": "609e17d5-b3f8-455d-9d0f-4849872d8cfa",
      "date": "2020-02-25T20:31:33"
    }
  }
}

如果文件夹 ID 不是 ItemID,那么 ItemID 是什么?如何指定要将文件保存到的文件夹?还是子文件夹或文件夹?没有一个选项让我使用 ItemID 以外的任何东西

POST /drives/{driveId}/items/{itemId}/createUploadSession
POST /groups/{groupId}/drive/items/{itemId}/createUploadSession
POST /me/drive/items/{itemId}/createUploadSession
POST /sites/{siteId}/drive/items/{itemId}/createUploadSession
POST /users/{userId}/drive/items/{itemId}/createUploadSession 

【问题讨论】:

    标签: microsoft-graph-api sharepoint-rest-api


    【解决方案1】:

    您问题中的请求选项只能用于通过使用文档的 ID 上传现有文档的新版本。文件夹没有可以用较新版本替换的文档。因此,无法为文件夹创建上传会话。您需要在文件夹 id 之后将文件名指定为相对路径,以便为文件夹中的新文件创建上传会话:

    https://graph.microsoft.com/v1.0/sites/{siteId}/drives/{driveId}/items/{folderId}:/{fileNameUploadFile}:/createUploadSession
    

    您也可以使用文件夹名称代替文件夹 ID:

    https://graph.microsoft.com/v1.0/sites/{siteId}/drives/{driveId}/root:/{folderName}/{fileNameUploadFile}:/createUploadSession
    

    【讨论】:

    • 谢谢,这正是我所需要的。它描述的文档中是否有任何地方?在我正在查看docs.microsoft.com/en-us/graph/api/… 的页面中,它仅将POST 描述为现有的itemid(我认为它是现有文档)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2020-11-10
    相关资源
    最近更新 更多