2017-10-11 8 views
1

Je suis confronté à la question suivante tout en obtenant des fichiers/dossiers pour onedrive d'un utilisateur.Liste des enfants API ne donne pas tous les enfants du lecteur/dossier

On frappe

https://graph.microsoft.com/v1.0/users/ {id utilisateur}/drive

Je reçois cela dans la réponse:

"quota": { "deleted": 0, "remaining": 0, "total": 0, "used": 0 }

qui indique que le lecteur ne soit pas utilisé ou est vide.

On frappe https://graph.microsoft.com/v1.0/users/{user-id}/drive/root je reçois la réponse -

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

Ici, il indique qu'il ya 21 fichiers/dossiers dans le dossier racine du lecteur et occupent 281.23 Mo d'espace.

Maintenant, frapper https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children je reçois vecteur vide dans la réponse -

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

}

Il y a des fichiers présents dans le lecteur. Mais je ne suis pas en mesure de les obtenir via l'API enfants. Toute aide à la compréhension de ces 3 résultats différents et d'obtenir la réponse serait appréciée

Merci.

Répondre

0

Une fois que votre utilisateur est authentifié et vous récupérez un jeton d'accès au nom de cet utilisateur. Vous appelez simplement ce critère d'évaluation:

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

Vous pouvez également regarder dans un dossier que les utilisateurs onedrive ainsi:

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

Votre URL est correcte aussi bien et devrait fonctionner comme je viens de tester en utilisant mon 'user-id' et a été en mesure de récupérer les fichiers dans mon onedrive.

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

Références:

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

+0

Oui, je sais que l'URL est correcte. Mon problème est qu'en frappant l'API lecteur/racine, il montre qu'il y a 21 enfants dans ce dossier mais en appuyant sur l'API/enfants avant le même dossier, il retourne un tableau vide – crucifix94

0

Ce problème est dû appeler l'aide de l'URL incorrecte. Les documents ne font pas très clair, mais l'URL:

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

ne fonctionne pas si le « Drive » est en fait partie d'une instance de point de partage. Bien que l'interface utilisateur indique "Drive" lorsque vous êtes connecté en tant qu'utilisateur, l'URL contient une référence à un point de partage.

L'URL à utiliser est en fait:

https: // {} locataire -my.sharepoint.com/_api/v2.0/lecteurs/{ID lecteur}/racine/

0

Vous devez utiliser la portée Files.Read.All ou Files.ReadWrite.All. Ce faisant, vos demandes ne retourneront plus un tableau vide.