如何使用 MS Graph API 执行可恢复的上传到 SharePoint 站点(非根)子文件夹
How to perform a resumable Upload to a SharePoint Site (Not Root) Subfolder using MS Graph API
文档:
https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0
我可以使用 sites/domain/drives 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?如何指定要将文件保存到的文件夹?还是子文件夹或文件夹? None 的 otpions 让我使用除 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
您问题中的请求选项只能用于使用文档的 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
文档:
https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0
我可以使用 sites/domain/drives 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?如何指定要将文件保存到的文件夹?还是子文件夹或文件夹? None 的 otpions 让我使用除 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
您问题中的请求选项只能用于使用文档的 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