Utiliser des profils utilisateur dans SharePoint
Découvrez les tâches de programmation courantes pour l’utilisation de profils utilisateur dans SharePoint.
API pour l’utilisation de profils dans SharePoint
Les profils utilisateur et les propriétés de profil utilisateur fournissent des informations sur les utilisateurs SharePoint. SharePoint fournit les API suivantes que vous pouvez utiliser pour travailler par programmation avec des profils utilisateur :
Modèles objet client pour le code managé
Modèle objet client .NET
Modèle objet client Silverlight
Modèle objet client mobile
Modèle objet JavaScript
Service REST (Representational State Transfer)
Modèle objet serveur
Il est vivement recommandé d'utiliser des API client quand vous le pouvez pour le développement SharePoint. Les API client comprennent le modèle objet client .NET, le modèle objet JavaScript et le service REST. Pour plus d'informations sur les API proposées dans SharePoint et pour savoir quand les utiliser, voir Choisir l'ensemble d'API approprié dans SharePoint.
Notes
Toutes les fonctionnalités de l’assembly Microsoft.Office.Server.UserProfiles ne sont pas disponibles dans les API clientes. Par exemple, vous devez utiliser le modèle objet serveur pour créer ou modifier des profils utilisateur, car ils sont en lecture seule dans les API clientes (à l’exception de l’image du profil utilisateur). Il n’y a pas non plus d’accès côté client à certains espaces de noms, tels que Microsoft.Office.Server.Audience, Microsoft.Office.Server.ReputationModel ou Microsoft.Office.Server.SocialData. Pour consulter les fonctionnalités prises en charge pour les API clientes, consultez Microsoft.SharePoint.Client.Social et Microsoft.SharePoint.Client.UserProfiles.
Chaque API inclut un objet gestionnaire que vous utilisez pour effectuer les tâches principales liées au profil. Le tableau 1 répertorie les objets gestionnaire et autres objets clés (ou ressources REST) inclus dans les API, ainsi que la bibliothèque de classes (ou point d'accès) où vous pouvez les trouver.
Notes
Les modèles objet client Silverlight et mobile ne sont pas inclus dans les tableaux 1 et 2, car ils fournissent les mêmes fonctionnalités de base que le modèle objet client .NET et utilisent les mêmes signatures. Le modèle objet client Silverlight est défini dans Microsoft.SharePoint.Client.UserProfiles.Silverlight.dll et le modèle objet client mobile est défini dans Microsoft.SharePoint.Client.UserProfiles.Phone.dll.
Tableau 1. API SharePoint permettant d’utiliser les profils utilisateur par programmation
Tâches de programmation courantes pour l'utilisation de profils utilisateur dans SharePoint
Le tableau 2 répertorie les tâches de programmation courantes pour l'utilisation de profils utilisateur et les membres que vous utilisez pour les effectuer. Les membres proviennent du modèle objet client .NET (CSOM), du modèle objet JavaScript (JSOM), du service REST et du modèle objet serveur (SSOM).
Tableau 2. API pour les tâches de programmation courantes pour l'utilisation de profils utilisateur
| Tâche | Membres |
|---|---|
| Créer une instance d’un objet gestionnaire dans le contexte de l’utilisateur actuel | CSOM : PeopleManager JSOM : PeopleManager REST : GET http://<siteUri>/_api/SP.UserProfiles.PeopleManagerSSOM : UserProfileManager (surchargé) ou PeopleManager |
| Modifier l'image de profil de l'utilisateur actuel | CSOM : SetMyProfilePicture JSOM : setMyProfilePicture REST : POST http://<siteUri>/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture et transmettre le paramètre picture dans le corps de la demande SSOM : UserProfile [PropertyConstants.PictureUrl].Value ou SetMyProfilePicture |
| Obtenir les propriétés de l'utilisateur actuel | CSOM : GetMyProperties JSOM : getMyProperties REST : GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetMyProperties (ou obtenir des propriétés utilisateur de base à partir de /_api/social.feed/my ou /_api/social.following/my) SSOM : GetUserProfile |
| Obtenir les propriétés d'un utilisateur spécifique | CSOM : GetPropertiesFor JSOM : getPropertiesFor REST : GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\\user' SSOM : GetUserProfile (surchargé) ou GetPropertiesFor |
| Obtenir les propriétés de profil d'un utilisateur spécifique | CSOM : GetUserProfilePropertiesFor JSOM : getUserProfilePropertiesFor REST : non implémenté. Appelez GetPropertiesFor, puis obtenez les propriétés du profil utilisateur à partir de la propriété UserProfileProperties de l’objet la valeur retournée PersonProperties. SSOM : GetEnumerator |
| Obtenir une propriété de profil utilisateur spécifique pour un utilisateur | CSOM : GetUserProfilePropertyFor JSOM : getUserProfilePropertyFor REST : GET http://<siteUri>/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='PreferredName')?@v='domain\\user' SSOM : UserProfile (surchargé) et spécifier le nom de propriété dans l’indexeur |
| Obtenir un profil utilisateur | CSOM : GetUserProfile (renvoie le profil utilisateur côté client de l'utilisateur actuel uniquement) JSOM : getUserProfile (renvoie le profil utilisateur côté client de l’utilisateur actuel uniquement) REST : POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile (renvoie le profil utilisateur côté client de l’utilisateur actuel uniquement) SSOM : GetUserProfile (surchargé) |
| Déterminer l'existence d'un compte d'utilisateur | CSOM : non implémenté JSOM : non implémenté REST : non implémenté SSOM : UserExists |
| Créer ou modifier les profils utilisateur ainsi que les attributs et les propriétés des profils utilisateur (Les API client peuvent modifier l'image de profil. Voir la tâche « Modifier l'image de profil de l'utilisateur actuel » dans ce tableau.) |
CSOM : non implémenté JSOM : non implémenté REST : non implémenté SSOM : multiples. Consultez la rubrique Comment travailler avec les profils utilisateur et les profils d’organisation en utilisant le modèle objet serveur dans SharePoint |
| Supprimer un profil utilisateur | CSOM : non implémenté JSOM : non implémenté REST : non implémenté SSOM : RemoveProfile ou RemoveUserProfile (surchargé) |
| Configurer le site personnel d'un utilisateur | CSOM : CreatePersonalSiteEnque (surchargé) JSOM : createPersonalSiteEnque (surchargé) REST : POST http://<siteUri>/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/GetUserProfile/CreatePersonalSiteEnqueue SSOM : CreatePersonalSite() (surchargé) |
| Configurer les sites personnels d'un ou de plusieurs utilisateurs Disponible pour les administrateurs de l'hôte Site Mon site sur SharePoint Online uniquement |
CSOM : CreatePersonalSiteEnqueueBulk JSOM : createPersonalSiteEnqueueBulk REST : POST https://<domain>-admin.sharepoint.com/_api/SP.UserProfiles.ProfileLoader.GetProfileLoader/CreatePersonalSiteEnqueueBulk et transmettre un tableau de chaînes d’adresses de messagerie pour le paramètre emailIDs (200 caractères maximum) dans le corps de la demande (exemple : {'emailIDs':['usera@contoso.onmicrosoft.com','userb@contoso.onmicrosoft.com']}). SSOM : CreatePersonalSiteEnqueueBulk |
Nouveaux objets pour les utilisateurs et les propriétés utilisateur dans SharePoint
SharePoint inclut les nouveaux objets suivants, qui représentent des utilisateurs et des propriétés utilisateur :
L’objet SocialActor et l’objet SocialActorInfo représentent les utilisateurs (et les documents, sites et tâches) pour les activités de flux et de suivi.
L'objet UserProfile côté client fournit des méthodes que vous pouvez utiliser en vue de créer un site personnel pour l'utilisateur actuel. Cependant, il ne contient pas toutes les propriétés utilisateur que contient l'objet UserProfile côté serveur.
L'objet PersonProperties contient des propriétés utilisateur générales et sa propriété UserProfileProperties contient des propriétés de profil utilisateur. PersonProperties est l'API principale permettant d'accéder aux propriétés utilisateur à partir du code côté client.
Notes
Les versions du modèle objet serveur sont l’objet SPSocialActor et l’objet PersonProperties.