2016-10-10 106 views
1

因为它是documented,所以使用Microsoft Graph REST API,您可以(除其他选项外)通过Id或Path获取项目。这工作得很好,符合市场预期:使用.NET SDK通过路径获取Microsoft Graph Drive项目

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(即第二种情况)。

我不想找到我已经知道的路径的Id,来为它创建请求。对?

恐怕不可能使用当前的SDK(Microsoft Graph Client Library 1.1.1)来做到这一点?

+0

尝试使用[微软图形客户端库1.2.1( https://www.nuget.org/packages/Microsoft.Graph/)。它适用于文件夹ID。 – 23W

回答

2

这是怎么了:

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

只使用普通的路径。不要包含“:”,也不要包含“/ drive/root:/”。

很明显,现在我看到它... ...

+0

不幸的是,这不适用于组织的驱动器/ SharePoint网站。该文件夹的ID(应首先找到)似乎是唯一的出路。 :( – horacioj

0

为了使用Microsoft图形SDK与Office365商业/共享点/团队,将“我”与“组代码[teamId的/的groupId]”。

像这样:

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

如果您使用Microsoft图形浏览器,你可以找到你的团队/组ID: https://developer.microsoft.com/en-us/graph/graph-explorer