简体   繁体   中英

Getting Microsoft Graph Drive items by path using the .NET SDK

As it is documented , using the Microsoft Graph REST API you can (among other options) get an item by Id or Path. This works fine, as expected:

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

Using the .NET SDK, I can get a folder by Id (ie the first case):

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

However, I couldn't find how (using the .NET SDK) to do the same, but specifying a path instead of an Id (ie the second case).

I don't want to find an Id of a path I already know, to create the request for it. Right?

I'm afraid is not possible to do this using the current SDK (Microsoft Graph Client Library 1.1.1)?

This is how:

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

Use just the plain path. Don't include the ":", and don't include the "/drive/root:/".

it was obvious, now that I see it...

In order to use the Microsoft Graph SDK with Office365 for Business/Sharepoint/Teams, replace the "Me" in the code with "Groups[teamId/groupId]".

Like this:

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

If you use the Microsoft Graph Explorer, you can find out your Team/Group Id: https://developer.microsoft.com/en-us/graph/graph-explorer

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM