2016-06-13 3 views
1

모든 OneDrive 업무용 항목을 UWP 응용 프로그램에 나열하려고합니다. 이를 위해 NuGet의 "Microsoft Graph Client Library"를 사용하고 있습니다. Microsoft Graph REST-API 용 래퍼 라이브러리입니다.Microsoft Graph List OneDrive Items

루트 드라이브 나 특정 폴더 -ID에서 모든 항목이나 하위 항목을 가져 오려고 할 때 빈 목록 만 표시됩니다. 하지만 내 드라이브에는 다른 파일과 폴더가 있습니다. 이 래퍼없이 REST-API를 사용하는 경우에도 빈 결과 만 나타납니다.

하지만 "최근"기능을 사용할 때 최근 사용한 항목 목록이 나타납니다.

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를 삭제했습니다 그게 문제가 아니라, 그래서)

누군가가 도와 드릴까요 : 같은

// 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-교통 같은데?

+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"부분을 복사하는 것을 잊었습니다. 빈 Children List가있는 결과가 나타납니다. –

+0

'GetAsync'메서드를 추가 한 후 문제가 해결 되었습니까? –

+0

아니요 이미 사용했습니다. 방금 복사하는 것을 잊었습니다! 위의 설명을 참조하십시오. –

관련 문제