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

核能气质少年 提交于 2020-04-11 03:41:16

问题


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)?


回答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...




回答2:


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



来源:https://stackoverflow.com/questions/39965330/getting-microsoft-graph-drive-items-by-path-using-the-net-sdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!