Se connecter à SharePoint
Créer un compte AD dans SharePoint avec Power Apps nécessite de disposer d’un champ de type Personne ou Groupe dans une liste ou une bibliothèque SharePoint. Par exemple pour le compte QualityAccount :

Ensuite la liste SharePoint doit être connectée à votre application Power Apps, via le menu Données (volet de gauche). C’est une icône en forme de base de données.

Ensuite, il suffit d’indiquer le site SharePoint puis la liste sélectionnée dans le volet de droite.
Obtenir la revendication (Claims) de l’utilisateur courant
La fonction User() donne quelques informations sur l’utilisateur courant : son email, son nom complet et son image. C’est tout.
Malheureusement, il manque une information cruciale : sa revendication (Claims). Vous trouverez beaucoup de sites web qui expliquent que le Claims peut se calculer grâce à la fonction Concatenate() ou l’opérateur &, avec la formule:
Set(glbCurrentUserClaims;"i:0#.f|membership|" & User().Email);;
Dans cette formule, la chaîne de caractères « i:0#.f|membership| » est fixe. Elle est indépendante de l’utilisateur ou de la société.
Afin d’éviter de consommer des ressources inutilement avec l’appel de la fonction User(), nous préférons utiliser une variable globale glbCurrentUser qui est simplement définie par :
Set(glbCurrentUser;User());;
La formule précédente devient donc :
Set(glbCurrentUserClaims;"i:0#.f|membership|" & glbCurrentUser.Email);;
Cette formule est valable dans les cas simples. Notamment, si votre AD (Active Directory) est parfaitement « propre » et cohérent. Toutefois, ce n’est pas toujours le cas.
En effet, la revendication peut être construite à partir d’une adresse email de l’utilisateur qui est différente de celle qui est fournie par User().Email. Vous devrez donc le vérifier auprès de votre administrateur informatique.
Créer le compte utilisateur dans SharePoint
Pour ajouter le compte AD d’un utilisateur dans le champ QualityAccount, de type Personne, utilisez la formule complète suivante :
QualityAccount:{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";Claims:glbCurrentUserClaims;DisplayName:glbCurrentUser.FullName;Department:"";Email:glbCurrentUser.Email;JobTitle:"";Picture:glbCurrentUser.Picture}
Notez que les champs Department, JobTitle et Picture sont obligatoires pour la création du compte dans la liste. Ils peuvent être éventuellement vides.
Autre écriture du compte de l’utilisateur courant dans Power Apps.
{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser";Claims:"i:0#.f|membership|"&User().Email;DisplayName:User().FullName;Email:User().Email;Department:"";Picture:User().Image;JobTitle:""}
Nullifier un compte utilisateur
Pour « mettre à blanc » un compte utilisateur dans une liste SharePoint, utilisez la fonction Blank() 🙂
Par exemple :
QualityAccount:{Claims:Blank();DisplayName:"";Email:"";Department:"";Picture:"";JobTitle:""}
Récupérer l’adresse email d’une revendication (Claims)
Les fonctions Split() et Last() nous viennent en aide :
Last(Split("i:0#.f|membership|xavier@com.fr";"|")).Result
Cette formule donnera :
xavier@com.fr
Voilà.
Laisser un commentaire