我想在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,所以这不是问题)
有人可以帮忙吗?
答案 0 :(得分:2)
要使用Microsoft Graph从OneDrive获取项目,我们需要向端点发出请求。在我们调用'GetAsync'方法之前,'Request'方法没有提出真正的请求。
以下是获取默认驱动器的子项的示例:
plt.autoscale(True, axis = 'both')
有关此SDK的详细信息,请参阅here。