Microsoft Graph List OneDrive项目

时间:2016-06-13 10:07:41

标签: c# microsoft-graph

我想在UWP-Application中列出我的所有OneDrive for Business项目。为此,我使用NuGet的“Microsoft Graph Client Library”。它是Microsoft Graph REST-API的包装库。

当我尝试从我的根驱动器或特定的Folder-ID获取所有项目或子项(我尝试过两者)时,我只得到一个空列表。但是我的云端硬盘中有不同的文件和文件夹。即使我在没有这个包装器的情况下使用REST-API,我也只得到一个空的结果。

但是当我使用“最近”功能时,我会得到一份最近使用过的物品清单。

// Returns an empty result without error
GraphServiceClient.Me.Drive.Items.Request().GetAsync()
GraphServiceClient.Me.Drive.Root.Children.Request().GetAsync()
GraphServiceClient.Drives["id"].Items.Request().GetAsync()

// Returns all my recent used items
GraphServiceClient.Me.Drive.Recent().Request().GetAsync()
GraphServiceClient.Drives["id"].Recent().Request().GetAsync()

HTTP-Traffic看起来像:

GET https://graph.microsoft.com/v1.0/me/drive/root/children HTTP/1.1
SdkVersion: graph-dotnet-1.0.1
Cache-Control: no-store, no-cache
Authorization: Bearer 1234567890123456789
Host: graph.microsoft.com
Connection: Keep-Alive

// Response:

HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
Server: Microsoft-IIS/8.5
request-id: 123456-7890123
client-request-id: 123456-7890123
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceB","ScaleUnit":"000","Host":"AGSFE_IN_3","ADSiteName":"AMS"}}
OData-Version: 4.0
Duration: 823.6454
X-Powered-By: ASP.NET
Date: Wed, 15 Jun 2016 06:56:29 GMT

8c
{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users('123456-7890123-456789')/drive/root/children","value":[]}
0

(我删除了Id,所以这不是问题)

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

要使用Microsoft Graph从OneDrive获取项目,我们需要向端点发出请求。在我们调用'GetAsync'方法之前,'Request'方法没有提出真正的请求。

以下是获取默认驱动器的子项的示例:

plt.autoscale(True, axis = 'both')

有关此SDK的详细信息,请参阅here