Я пытаюсь и не могу загрузить файл в онлайн-библиотеку документов Sharepoint с помощью C # graph sdk.
Я могу получить диск / библиотеку, но если я получу его как диск, Root будет нулевым, и я получу исключение. Если я обращаюсь к нему как к списку, я не могу использовать метод CreateUploadSession.
Получение библиотеки документов в виде списка работает:
await graphClient.Sites[SPUrl + ":"].Sites[SpPath + ":"].Lists[libId].Request().GetAsync();
Получение библиотеки Doc как накопителя по идентификатору диска не работает:
var drive = await graphClient.Sites[SPUrl + ":"].Sites[SpPath + ":"].Drives[driveId].Request().GetAsync();
Получение библиотеки документов в качестве диска ее списка:
var drive = await graphClient.Sites[SPUrl + ":"].Sites[SpPath + ":"].Lists[libId].Drive.Request().GetAsync();
Но попытка получить Root этого диска приводит к «неверному запросу: указанный URL недействителен». То же самое можно сказать и о Drive.Items.Request (). Но, насколько я могу судить, мне нужен рут-диск для этого:
var uploadSession = await graphClient.Sites[SPUrl + ":"].Sites[SpPath + ":"].Lists[libId].Drive.Root.ItemWithPath(file.FileName).CreateUploadSession().Request().PostAsync();
Но у меня есть три библиотеки документов, и все они показывают Root как ноль. Я явно что-то упускаю, но мне непонятно, что.