Search code examples
c#onedrivemicrosoft-graph-api

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 (i.e. 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 (i.e. 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)?


Solution

  • 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...