Microsoft Graph .NET SDK: получение элементов из mycompany.sharepoint.com/Shared Documents

#onedrive #microsoft-graph-api

#onedrive #microsoft-graph-api

Вопрос:

Отлаживая код, я вижу, что запрос выглядит так:https://graph.microsoft.com:443/v1.0/drives/the-shared-docs-id/items/the-root-id/children

Я точно знаю, что идентификаторы-shared-docs-id и идентификатор-root-id являются правильными. Кроме того, этот же запрос возвращает ожидаемые результаты при отправке из Graph Explorer.

Однако .NET SDK ничего не возвращает. Элементов вообще нет. Тот же пользователь (я) создал файлы и папки и разрешил приложению доступ к OneDrive. Этот пользователь даже является администратором всего.

Ответ №1:

Я тестировал с двумя разными приложениями, одно с файлами.Только для записи в область и другие с файлами.ReadWrite.All.

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

Я думаю, что это странно… но, похоже, так оно и есть.

Использование приложения с файлами.ReadWrite.Во всей области я смог увидеть элементы в общей папке.

Использование файлов.Область ReadWrite, я получаю пустой список элементов.

Комментарии:

1. Я вижу, как это может сбивать с толку. Область применяется к вызову, а не к данным. Поскольку вызов здесь возвращает файлы для нескольких пользователей, требуется область, которая поддерживает это. Документы могли бы быть намного понятнее по этому вопросу.