Я пытаюсь создать сеанс загрузки (ссылка https://learn.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createuploadsession?view=odsp-graph-online), чтобы загрузить «большой» документ (любой документ, размер которого превышает 4 МБ). Я использую Graph Explorer, но Graph Explorer не предоставляет точного примера/фрагмента кода для этого.

Я могу использовать следующую конфигурацию, чтобы создать свой запрос и получить успешный uploadUrl в Graph Explorer.

POST v1.0 https://graph.microsoft.com/v1.0/me/drives/{myDriveId}/items/{myItemId}:/test.pdf:/createUploadSession

В моем приложении я могу успешно вызвать CreateUploadSession, но возвращаемое значение uploadUrl равно нулю.

var graphClient = new GraphServiceClient(authenticationProvider);

var requestBody = new Microsoft.Graph.Drives.Item.Items.Item.CreateUploadSession.CreateUploadSessionPostRequestBody
{
};

var res = await graphClient.Drives["{myDriveId}"].Items["{myItemId}/:/testFile.pdf"].CreateUploadSession.PostAsync(requestBody);

var uploadUrl = res.UploadUrl;

В моем приложении используется Microsoft.Graph 5.11.

Будет ли это правильным методом при создании моего сеанса загрузки?

Благодарность

0
cmf91 30 Май 2023 в 20:46

1 ответ

Покопавшись в объекте Items, я нашел Items[].ItemsWithPath()

После изменения моего утверждения на

var res = await graphClient.Drives["{myDriveId}"].Items["{myItemId}"].ItemWithPath("testFile.pdf").CreateUploadSession.PostAsync(requestBody);

Мой запрос возвращает новый UploadUrl

0
cmf91 30 Май 2023 в 20:55