2016-10-10 1 views
1

Как это documented, используя API-интерфейс Microsoft Graph REST, вы можете (среди других параметров) получить элемент по идентификатору или пути. Это прекрасно работает, как ожидалось:Получение элементов Microsoft Graph Drive по пути с использованием .NET SDK

GET /me/drive/items/{item-id}/children 
GET /me/drive/root:/{item-path}:/children 

Использование .NET SDK, я могу получить папку по идентификатору (т.е. первый случай):

var items = await graphClient.Me.Drive.Items[myFolderId].Children.Request().GetAsync(); 

Однако, я не мог найти, как (используя .NET SDK), чтобы сделать то же самое, но указав путь вместо Id (т. е. второй случай).

Я не хочу найти идентификатор пути, который я уже знаю, чтобы создать запрос на него. Правильно?

Я боюсь, что это невозможно сделать, используя текущий SDK (клиентская библиотека Microsoft Graph 1.1.1)?

+0

Попробуйте использовать [Microsoft Graph Client Library 1.2.1] (https://www.nuget.org/packages/Microsoft.Graph/). Он работает с идентификатором папки. – 23W

ответ

2

Это как:

var items = await graphClient.Me.Drive.Root 
        .ItemWithPath("/this/is/the/path").Children.Request().GetAsync(); 

Используйте только обычный путь. Не включайте «:» и не включайте «/ drive/root: /».

это было очевидно, теперь, когда я вижу это ...

+0

К сожалению, это не работает на диске организации/сайте SharePoint. Идентификатор папки (который должен быть найден первым), кажется, единственный путь. :( – horacioj

0

Для того, чтобы использовать Microsoft Graph SDK с Office365 для бизнеса/Sharepoint/команды, заменить «Me» в коде с «группами [TeamID/идентификатор_группа]».

Как это:

var items = await graphClient.Groups["teamId/groupId"].Drive.Root 
    .ItemWithPath("/this/is/the/path").Children.Request().GetAsync(); 

Если вы используете Microsoft Graph Explorer, вы можете узнать ваш Team/Id Группа: https://developer.microsoft.com/en-us/graph/graph-explorer