2017-10-11 5 views
1

Ich bin mit dem folgenden Problem beim Abrufen von Dateien/Ordnern für OneDrive eines Benutzers konfrontiert.Liste Kinder API gibt nicht alle Kinder des Laufwerks/Ordner

Auf Schlagen

https://graph.microsoft.com/v1.0/users/ {user-id}/Laufwerk

ich dies in der Antwort:

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

deutet an, dass das Laufwerk nicht verwendet wird oder leer.

Auf https://graph.microsoft.com/v1.0/users/{user-id}/drive/root Schlagen ich die Antwort bekommen -

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

Hier bezeichnet es, dass es 21 Dateien/Ordner im Stammordner des Laufwerks sind und sie besetzen 281,23 MB Speicherplatz. Jetzt

, beim Auftreffen auf https://graph.microsoft.com/v1.0/users/{user-id}/drive/root/children ich leeren Vektor in der Antwort -

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

}

Es gibt Dateien in das Laufwerk ein. Aber ich bin nicht in der Lage, sie über die Kinder-API zu bekommen. Irgendwelche Hilfe, diese 3 verschiedenen Resultate zu verstehen und die Antwort zu erhalten, würde geschätzt werden

Dank.

Antwort

0

Sobald Ihr Benutzer authentifiziert ist und Sie ein Zugriffs-Token im Namen dieses Benutzers abrufen. Sie würden einfach diesen Endpunkt nennen:

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

Sie auch in einen Ordner suchen möchten auf, dass die Benutzer Microsoft Onedrive auch:

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

Ihre URL als auch korrekt ist, und sollte arbeiten, wie ich gerade getestet mit meiner 'user-id' und konnte die Dateien in meinem onedrive abrufen.

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

Referenzen:

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

+0

Ja, ich weiß, dass die URL korrekt ist. Mein Problem ist, dass beim Aufrufen der Drive/Root-API angezeigt wird, dass es 21 Kinder in diesem Ordner gibt, aber wenn die/children-API für denselben Ordner gefunden wird, wird ein leeres Array zurückgegeben – crucifix94

0

Dieses Problem wird durch Aufruf der Verwendung der falschen URL verursacht wird. Die Dokumente macht es nicht sehr klar, aber die URL:

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

funktioniert nicht, wenn der ‚Drive‘ tatsächlich Teil eines Werk Instanz ist. Obwohl die Benutzeroberfläche beim Anmelden als Benutzer "Laufwerk" anzeigt, enthält die URL den Verweis auf den Netzwerkordner.

die korrekte URL zu verwenden ist eigentlich:

https: // {Mieter} -my.sharepoint.com/_api/v2.0/Laufwerke/{Laufwerks-ID}/root/

0

Sie müssen den Bereich Files.Read.All oder Files.ReadWrite.All verwenden. Auf diese Weise werden Ihre Anforderungen nicht länger ein leeres Array zurückgeben.