2016-06-13 15 views
1

私のOneDrive for BusinessアイテムをすべてUWPアプリケーションにリストしたいと思います。このため私はNuGetの "Microsoft Graph Client Library"を使用しています。これは、Microsoft Graph REST-APIのラッパーライブラリです。Microsoft Graph List OneDrive Items

ルートドライブまたは特定のFolder-IDからすべてのアイテムまたは子供を取得しようとしていますが、私は空のリストを取得します。しかし、私のドライブにはさまざまなファイルとフォルダがあります。私がこのラッパーなしでREST-APIを使用しているときでさえ、私は空のResultを得ています。

「最近の」機能を使用しているときに、最近使用したアイテムのリストが表示されます。

// 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-トラフィックは、次のようになります。

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 123456789
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-789
client-request-id: 123456-789
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が、問題はないthatsのように削除した)

誰かが助けることができますか?

+0

Itemsコレクションが列挙できないため、失敗することが予想されます。アイテムにアクセスするには、Root.Childrenを使用する必要があります。しかし、それはあなたにとってもうまくいかないようです。 Fiddlerを使用して実際のHTTPトラフィックのトレースを取得し、応答を共有できますか? –

答えて

1

Microsoft Graphを使用してOneDriveからアイテムを取得するには、エンドポイントに要求を行う必要があります。 'Request'メソッドは、 'GetAsync'メソッドを呼び出すまで実際のリクエストを行いませんでした。ここで

は、デフォルトのドライブの子項目を取得する例です。

var items = await graphserviceClient.Me.Drive.Root.Children.Request().GetAsync(); 

は、このSDKについての詳細はhereを参照してください。

+0

申し訳ありません。私は私の要求の "GetAsync"の部分をコピーするのを忘れました。私は空の子リストを持つ結果を得ています。 –

+0

'GetAsync'メソッドを追加した後に問題が修正されましたか? –

+0

いいえ、すでに使用しています。私はそれをコピーすることを忘れてしまった!上記のコメントを参照してください。 –

関連する問題