Freigeben über


Zugreifen auf OneDrive for Business in einem Multi-Geo-Mandanten

Das Zugreifen auf die OneDrive for Business-Website eines Benutzers, die auch als persönliche Website oder „Meine Website“ bezeichnet wird, ist ein häufiges Szenario in benutzerdefinierten Anwendungen. In diesem Artikel wird beschrieben, wie Sie mit OneDrive for Business-Websites in einem Multi-Geo-Mandanten arbeiten.

Sie können eine der APIs verwenden, um auf eine OneDrive for Business-Website zuzugreifen:

  • Microsoft Graph-API (bevorzugt)
  • CSOM-API für SharePoint
  • REST-API für SharePoint

Lesen von OneDrive for Business-Dateien mit Microsoft Graph

Wenn Sie Microsoft Graph zum Lesen von OneDrive for Business-Dateien verwenden, müssen Sie nicht wissen, wo sich die OneDrive-Websites eines Benutzers befindet. Wenn Sie das Laufwerk anfordern, erhalten Sie die benötigten Dateien, wie in den folgenden Beispielen gezeigt.

GET https://graph.microsoft.com/v1.0/users/bert@contoso.onmicrosoft.com/drive/root/children

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

Lesen von OneDrive for Business-Dateien mit CSOM und REST

Das Lesen von Dateien mithilfe von CSOM ist identisch mit dem Lesen von Dateien in anderen Websitesammlungen. Bei einer OneDrive for Business-Website handelt es sich um eine reguläre SharePoint-Websitesammlung mit einer Dokumentbibliothek, die Dateien enthält. Im Abschnitt Siehe auch finden Sie Beispiele zur Verwendung von CSOM und REST zum Hochladen von Dateien.

Abrufen des Speicherorts der OneDrive for Business-Website eines Benutzers mit Microsoft Graph

Die folgenden Beispiele zeigen, wie Sie mithilfe der Microsoft Graph-API eine OneDrive for Business-Website abrufen.

GET https://graph.microsoft.com/v1.0/users/admin@contoso.onmicrosoft.com/mySite

GET https://graph.microsoft.com/v1.0/me/mySite

Beispielantwort für einen Speicherort der OneDrive for Business Website des Benutzers mithilfe von Microsoft Graph

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin@contoso.onmicrosoft.com')/mySite",
    "value": "https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
}

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.

Abrufen des Speicherorts der OneDrive for Business-Website eines Benutzers mit CSOM und REST

Das folgende Beispiel zeigt eine REST-basierte Abfrage zum Abrufen des Speicherorts einer OneDrive for Business-Website.

GET https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)/PersonalUrl?%40v=%27i%3A0%23.f%7Cmembership%7Cbert%40contoso.onmicrosoft.com%27

Beispielantwort für einen Speicherort der OneDrive for Business Website des Benutzers mithilfe von REST

{
    "d":{
        "PersonalUrl":"https://contoso-my.sharepoint.com/personal/admin_contoso_onmicrosoft_com/"
        }
}

Wenn Sie C# verwenden, können Sie CSOM zum Abrufen des Speicherorts einer OneDrive for Business-Website verwenden.

public string GetUserPersonalUrlCSOM(ClientContext ctx, string userPrincipalName)
{
  string result = null;

  PeopleManager peopleManager = new PeopleManager(ctx);
  var userProperties = peopleManager.GetPropertiesFor(userPrincipalName);
  this.clientContext.ExecuteQuery();
  result = userProperties.PersonalUrl;

  return result;
}

Siehe auch