2017-10-11 6 views
1

사용자의 OneDrive 용 파일/폴더를 가져 오는 동안 다음 문제가 발생합니다. 타격에자식 API가 드라이브/폴더의 모든 자식을 제공하지 않는다

https://graph.microsoft.com/v1.0/users/ {사용자 ID}/

내가 응답이 얻을 드라이브 :

드라이브가 사용되지 않는 것을 의미이거나 "quota": { "deleted": 0, "remaining": 0, "total": 0, "used": 0 }

빈. https://graph.microsoft.com/v1.0/users/{user-id}/drive/root 타격에

내가 응답 얻을 - 여기

"folder": { 
    "childCount": 21 
}, 
"root": {}, 
"size": 281236319 

를, 드라이브의 루트 폴더에 21 개 파일/폴더가 있음을 나타냅니다 그들은 공간 281.23 MB를 차지한다. https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children 타격에 지금

, 나는 응답에 빈 벡터를 얻을 -

{ 
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('user-id')/drive/root/children", 
"value": [] 

}

드라이브에 존재하는 파일이 있습니다. 그러나 나는 아이들 API를 통해 그들을 얻을 수 없다. 이 세 가지 결과를 이해하고 응답을 얻는 데 도움이 될 경우

감사합니다.

답변

0

사용자가 인증되고 해당 사용자를 대신하여 액세스 토큰을 검색하면됩니다.

https://graph.microsoft.com/v1.0/me/drive/root:{/Folder-Path}:/children 

귀하의 URL뿐만 아니라 올 바르고 난 그냥 테스트로 작동해야하는 사용자뿐만 아니라 원 드라이브에

https://graph.microsoft.com/v1.0/me/drive/root/children 

또한 폴더를 조사 할 수 있습니다 : 당신은 단순히이 엔드 포인트를 부를 것이다 내 'user-id'를 사용하여 내 onedrive에서 파일을 검색 할 수있었습니다.

https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children 

참고 :

https://stackoverflow.com/a/46614072/6559330 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/driveitem_list_children

+0

네, URL이 정확한지 알고 있습니다. 내 문제는 드라이브/루트 API를 치면,이 폴더에 21 개의 자식이 있지만 동일한 폴더에서/children API를 친다는 것을 보여 주며 빈 배열을 반환합니다. – crucifix94

0

이 문제는 잘못된 URL을 사용하여 호출에 의해 발생합니다. 워드 프로세서는 매우 명확하지만, URL을하지 않는 다음 '드라이브'실제로 공유 지점 인스턴스의 일부인 경우

https://graph.microsoft.com/v1.0/me/drive

이 작동하지 않습니다. 사용자가 로그인 할 때 UI에 '드라이브'라고 표시 되더라도 URL에는 공유 지점이라는 참조가 포함됩니다.

사용하는 올바른 URL이 실제로 :

https : //로 {세입자} -my.sharepoint.com/_api/v2.0/drives/{drive id}/root/

0

범위 Files.Read.All 또는 Files.ReadWrite.All을 사용해야합니다. 그렇게하면 요청에 빈 배열이 반환되지 않습니다.