Как выполнить возобновляемую загрузку на подпапку сайта SharePoint (не Root) с помощью MS Graph API - PullRequest
0 голосов
/ 25 февраля 2020

Документация:

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

Я могу получить идентификатор диска для подсайта, используя api сайты / домен / диски. Используя этот идентификатор и идентификатор диска / root / children, я могу подтвердить несколько папок на этом диске.

Если я использую API POST / drive / {driveId} / items / {itemId} / createUploadSession, заменив driveId на диск ID и itemId с идентификатором папки Я получаю следующую ошибку

{
  "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"
    }
  }
}

Если идентификатор папки не является 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 

1 Ответ

0 голосов
/ 29 февраля 2020

Параметры запроса в вашем вопросе могут быть использованы только для загрузки новой версии уже существующего документа с использованием идентификатора документа. В папке нет документа, который можно заменить на более новую версию. Поэтому невозможно создать сеанс загрузки для папки. Вам необходимо указать имя файла в качестве относительного пути после идентификатора папки, чтобы создать сеанс загрузки для нового файла в папке:

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

Вы также можете использовать имя папки вместо идентификатор папки:

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