Я создаю клиент для доступа к файлам в OneDrive пользователя, используя SDK MSGraph (для .net, работающий на Android).
Я рассчитал общий идентификатор, поэтому я могу получить доступ
client.Shares[shareId].Root.Children
.Request()
.GetAsync()
где shareId — это строка в форме u!aHR0cHM6Ly8xZHJ2Lm1zL2YvcyFBdHVBTV9OYWN3VmFoaUZwdU1HU19CaVFDd1d1
(рассчитывается, как описано в документы по API
Теперь я хотел бы вывести содержимое подпапки, поэтому я вызываю
client.Shares[shareId].Root.ItemWithPath("subfolder").Children
.Request()
.GetAsync()
где «подпапка» — это имя существующей подпапки.
Однако я получаю Resource not found for the segment 'root'
при вызове ItemWithPath()
.
Насколько я понимаю, этот доступ к файлам относительно другого элемента должен работать в соответствии с документы по адресации на основе пути (и это работает для файлов/папок на пользовательском диске, но не для элементов внутри доля).
Является ли это ограничением и нужно ли мне хранить driveItemId для каждого общего файла, к которому я хочу получить доступ? Или есть более простое решение, чтобы я мог обрабатывать общие файлы так же, как файлы на диске пользователя?