2016-10-10 68 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