При выполнении возобновляемой загрузки в файл, к которому был предоставлен общий доступ, URL-адрес, возвращенный из createUploadSession, не может быть использован.
Загрузка напрямую с / content работает, но имеет ограничение 4 МБ
Сценарий UserA
предоставляет доступ к файлу с правами на редактирование UserB
Использование ms graph javascript sdk
const { uploadUrl } = await this.client.api(`/drives/${driveId}/items/${id}/createUploadSession`).post({});
попытка использования uploadUrl
приводит к получению 404 {"error":{"code":"itemNotFound","message":"The resource could not be found."}}
Интересно, что uploadUrl
выглядит примерно так https://{tenant}-my.sharepoint.com/personal/{UserA}_{tenant}_com/_api/v2.0/drives/${driveId}/items/${id}/uploadSession?guid='5b85df9e-b524-4000-9883-8106a13e592f'...
Не уверен, связано ли это с UserA, встроенным вURL или нет.
Если UserA
обращается к одному и тому же файлу и выполняет аналогичную загрузку, все прекрасно работает с файлом.
Все следующие запросы работают нормально для любого пользователя:
await this.client.api(`/drives/${driveId}/items/${id}/checkout`).post({});
await this.client.api(`/drives/${driveId}/items/${id}/content`).putStream(fs.createReadStream(filePath));
await this.client.api(`/drives/${driveId}/items/${id}/checkin`).post({});
uploadUrl
, возвращаемое из createUploadSession, должно быть допустимо для любого пользователя, который имел доступ к созданию сеанса загрузки.