Accès à OneDrive Entreprise dans un client multigéographique

Accéder à un site OneDrive Entreprise d’un utilisateur, également appelé site personnel ou site Mon site, est un scénario fréquent dans les applications personnalisées. Cet article décrit comment utiliser les sites OneDrive Entreprise dans un client multigéographique.

Vous pouvez utiliser une ou plusieurs API pour accéder à un site OneDrive Entreprise :

  • API Microsoft Graph (recommandé)
  • API CSOM SharePoint
  • API REST SharePoint

Lire les fichiers OneDrive Entreprise à l’aide de Microsoft Graph

Quand vous utilisez Microsoft Graph pour lire un fichier OneDrive Entreprise, vous n’avez pas besoin de connaître l’emplacement du site OneDrive d’un utilisateur. Quand vous envoyez une requête au lecteur, comme illustré dans les exemples suivants, vous obtenez les fichiers souhaités.

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

Lire les fichiers OneDrive Entreprise à l’aide de CSOM et REST

Lire des fichiers à l’aide de CSOM revient à lire des fichiers sur d’autres collections de sites. Un site OneDrive Entreprise est une collection de sites SharePoint standard avec une bibliothèque de documents contenant des fichiers. Consultez la section Voir aussi pour obtenir des exemples pour charger des fichiers à l’aide de CSOM et REST.

Obtenir l’emplacement d’un site OneDrive Entreprise d’un utilisateur à l’aide de Microsoft Graph

Les exemples ci-dessous montrent comment obtenir l’emplacement d’un site OneDrive Entreprise à l’aide de l’API Microsoft Graph.

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

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

Exemple de réponse pour un emplacement du site OneDrive Entreprise de l’utilisateur à l’aide de 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/"
}

Pour en savoir plus, consultez l’exemple MultiGeo.UserProfileUpdates.

Obtenir l’emplacement du site OneDrive Entreprise d’un utilisateur à l’aide de CSOM et REST

L’exemple suivant montre une requête basée sur REST pour obtenir l’emplacement d’un site OneDrive Entreprise.

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

Exemple de réponse pour un emplacement du site OneDrive Entreprise de l’utilisateur à l’aide de REST

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

Si vous utilisez le langage C#, vous pouvez utiliser CSOM pour obtenir l’emplacement d’un site OneDrive Entreprise.

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;
}

Voir aussi