OneDrive-API-Endpunktunterschiede
Die OneDrive-API ist über mehrere unterschiedliche API-Endpunkte verfügbar. Microsoft Graph ist der bevorzugte Endpunkt für den Zugriff auf OneDrive Personal-, OneDrive for Business- und SharePoint-Onlinedateien. In einigen Unternehmensszenarien wie SharePoint Server 2016 kann es erforderlich sein, über den direkten API-Endpunkt auf OneDrive for Business- und SharePoint-Daten zuzugreifen, ohne Microsoft Graph zu verwenden. Die folgenden Hinweise enthalten Details zu den Unterschieden zwischen Microsoft Graph und dem direkten API-Endpunkt.
Unterschiede:
Namespaces
Methoden
Wenn Sie den direkten Endpunkt verwenden, erfordern Methoden und Aktionen ein Namespacepräfix.
Um beispielsweise sharedWithMe
auf dem direkten Endpunkt zu verwenden, müssen Sie dem Aktionsnamen das Präfix oneDrive.
hinzufügen.
Beachten Sie, dass bei diesem Präfix die Groß- und Kleinschreibung berücksichtigt wird.
https://{server}/_api/v2.0/drive/oneDrive.sharedWithMe
Die folgenden Aktionen und Methoden müssen für den direkten Endpunkt ein Präfix enthalten:
- Kopieren
- Freigabelink erstellen
- Uploadsitzung erstellen
- Delta
- Einladen
- Zuletzt verwendete Dateien
- Suchen
- Für mich freigegeben
Instanzanmerkungen
Eigenschaften zu Elementen, die mit einem At-Zeichen (@
) zurückgegeben werden, umfassen auch einen Namespace.
Wenn Sie Microsoft Graph verwenden, ist der Namespace immer microsoft.graph
.
Beim Zugriff auf den direkten API-Endpunkt ist der Namespace jedoch ein anderer.
Dokumentierter Eigenschaftenname (Microsoft Graph) | Eigenschaftenname direkte API |
---|---|
@microsoft.graph.downloadUrl |
@content.downloadUrl |
@microsoft.graph.sourceUrl |
@content.sourceUrl |
@microsoft.graph.conflictBehavior |
@name.conflictBehavior |
Eigenschaftennamen
Einige Eigenschaftennamen zu Ressourcen werden geändert, wenn sie von Microsoft Graph zurückgegeben werden. Die folgende Tabelle enthält die Ressourcen und Eigenschaftennamen, die bei Microsoft Graph und OneDrive-API unterschiedlich sind.
Dokumentierter Eigenschaftenname (Microsoft Graph) | Eigenschaftenname direkte API |
---|---|
folder.view | folder.folderView |
Ermitteln eines Endpunkts
Microsoft Graph bietet einen einzelnen API-Endpunkt, graph.microsoft.com
, für Heimanwender- und Arbeits-/Schulkonten.
Wenn Sie die OneDrive-API direkt verwenden, müssen Sie den richtigen OneDrive-API-Endpunkt ermitteln.
Um den richtigen Endpunkt für OneDrive-API zu ermitteln, müssen Sie Microsoft Graph verwenden.
OneDrive Personal-Konten
Um auf die OneDrive-API für OneDrive Personal zuzugreifen, muss Ihre App den https://api.onedrive.com/v1.0
-Endpunkt für alle Anforderungen verwenden.
Sie können feststellen, ob der angemeldete Benutzer ein OneDrive Personal-Benutzer ist, indem Sie das id_token
für tid: 9188040d-6c67-4c5b-b112-36a304b66dad
überprüfen.
Weitere Informationen hierzu finden Sie im Thema zum Active Directory v2-Protokoll.
OneDrive for Business und SharePoint
Um auf den direkten API-Endpunkt für OneDrive for Business zuzugreifen, muss Ihre App zuerst die MySite-URL des Benutzers ermitteln. Sie können eine Anforderung an Microsoft Graph senden, damit diese Informationen zurückgegeben werden:
GET https://graph.microsoft.com/v1.0/me?$select=mySite
HTTP/1.1 200 OK
Content-Type: application/json
{
"mySite": "https://contoso-my.sharepoint.com/personal/rgregg_contoso_com/"
}
Sie können dann den API-Pfad für die OneDrive-API, _api/v2.0/
, an diese URL anhängen, um den API-Endpunkt zu erstellen:
var apiEndPoint = response.mySite + '_api/v2.0';
In einigen Fällen wird einem Arbeits-/Schulbenutzer kein mySite
-Wert zurückgegeben.
Dies tritt auf, wenn für das Konto noch kein OneDrive for Business erstellt wurde.
In diesem Szenario muss Ihre App Microsoft Graph für die Bereitstellung des OneDrive des Benutzers verwenden, indem der Stammordner des Laufwerks von Microsoft Graph angefordert wird.
Berechtigungen
Für Aufrufe von SharePoint und OneDrive for Business können Sie Ihrer Anwendung diese Berechtigungsbereiche über das Azure-Portal mit dem Dienst Office 365 SharePoint Online zuweisen. Für OneDrive Personal wird die Bereichszeichenfolge direkt an den OAuth-Workflow übergeben und muss nicht vorab registriert werden.
Microsoft Graph-Berechtigung | OneDrive Personal | Sharepoint und OneDrive for Business |
---|---|---|
Files.Read | OneDrive.Read | MyFiles.Read |
Files.ReadWrite | OneDrive.ReadWrite | MyFiles.Write |
Files.ReadWrite.All | OneDrive.ReadWrite | Files.ReadWrite.All |
Files.ReadWrite.AppFolder | OneDrive.AppFolder | Files.ReadWrite (Files.ReadWrite.AppFolder derzeit nicht unterstützt |
Sites.Read.All | Nicht zutreffend | Sites.Read.All |
Sites.ReadWrite.All | Nicht zutreffend | Sites.ReadWrite.All |