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