Ajouter Utilisateurs d’Office 365 à votre application
La connexion Utilisateurs d’Office 365 pour Power Apps vous permet d’accéder aux profils utilisateur de votre organisation à l’aide de votre compte Office 365. Vous pouvez effectuer diverses actions, par exemple obtenir votre profil, le profil d’un utilisateur, le responsable d’un utilisateur ou des subordonnés directs.
Vous pouvez afficher ces informations au moyen de libellés dans votre application. Vous pouvez afficher une ou plusieurs fonctions, voire combiner différentes fonctions. Par exemple, cette fonction vous permet de rendre l’application plus personnelle en saluant l’utilisateur actif avec son nom d’affichage ou en renseignant automatiquement certains champs de données avec son nom et son numéro de téléphone.
Ajouter une connexion
La source de données Utilisateurs d’Office 365 est un connecteur standard utilisable dans Power Apps. Pour ajouter ce connecteur, cliquez sur Ajouter des données dans le ruban de commandes et saisissez ’Utilisateurs d’Office 365’ dans le champ de recherche. Sélectionnez Utilisateurs d’Office 365 dans la liste et, dans la boîte de dialogue qui s’affiche avec votre connexion, sélectionnez votre connexion Utilisateurs d’Office 365.
Une boîte de dialogue similaire à celle ci-dessous peut s’afficher s’il s’agit de la première fois que vous ajoutez ce connecteur dans cet environnement. Cliquez sur Connecter pour ajouter cette connexion.
Informations de profil utilisateur
Les informations de profil utilisateur sont appelées au moyen de l’action MyProfile du connecteur Utilisateurs d’Office 365. De même, nous pouvons obtenir des informations sur d’autres utilisateurs en appelant l’action SearchUser. Quelques options vous permettent d’obtenir des informations utilisateur dans l’application canevas. La fonction dans la propriété App OnStart ou OnSelect d’un bouton vous permet d’obtenir des informations sur l’utilisateur de l’application.
Stocker les informations du profil utilisateur avec App OnStart
Ici, nous allons obtenir l’enregistrement contenant les informations utilisateur que nous recherchons et l’enregistrer en tant que variable globale, afin de faciliter sa réutilisation sur l’ensemble de l’application. Puisqu’il s’agit d’un enregistrement d’informations, nous avons accès à toutes les informations présentes dans votre profil Office 365.
Sélectionnez Application, puis la propriété OnStart et ajoutez la formule suivante :
Set(varUserInfo, Office365Users.MyProfileV2())
Pour renseigner notre variable, cliquez sur les points de suspension en regard d’Application, puis sélectionnez Exécuter OnStart.
Une fois la variable d’enregistrement globale varUSerInfo renseignée, vous pouvez appeler ces informations sur l’ensemble de l’application. Par exemple, dans la propriété Default d’un contrôle Saisie de texte, vous pouvez ajouter varUserInfo.displayName
.
L’image ci-dessous illustre les attributs pouvant être renseignés automatiquement dans votre application, ce qui permet à l’utilisateur de gagner du temps en évitant de les saisir manuellement. Dans l’image ci-dessous, nous avons inclus le nom d’affichage, le poste, le département, l’adresse, la ville, l’État et le code postal.
Les données recueillies à partir de l’action MyProfileV2 comprennent des métadonnées du profil d’Utilisateur d’Office 365 pour l’utilisateur. Une fois consultées, elles peuvent être utilisées n’importe où dans l’application.
Propriété OnSelect d’un contrôle
Vous pouvez recueillir des données sur un autre utilisateur (quelqu’un d’autre que l’utilisateur actif) à l’aide des actions SearchUser et UserProfile. Exerçons-nous en ajoutant un contrôle ComboBox à une application canevas avec la source de données Office365Users.
Définissez les propriétés de votre contrôle ComboBox comme suit :
Propriété | Valeur |
---|---|
Éléments | Office365Users.SearchUserV2({searchTerm: Self.SearchText, isSearchTermRequired: false}).value |
DefaultSelectedItems | Office365Users.SearchUserV2({searchTerm:varUserInfo.displayName}).value |
DisplayFields | ["DisplayName"] |
IsSearchable | true |
SelectMultiple | false |
OnChange | Set(varSearchUserInfo, Office365Users.UserProfileV2(Self.Selected.Id)) |
L’action SearchUser recueille des métadonnées de profil de compte similaires à celles recueillies par l’action MyProfile. Dans la propriété OnChange de notre contrôle, la fonction UserProfileV2 nous permet d’obtenir les métadonnées de l’utilisateur sélectionné à l’aide de son ID provenant de SearchUserV2.
Remarque
Vous pouvez voir toutes les données seulement si elles ont été saisies pour ce compte, sinon vous voyez un résultat par défaut ou nul. Par exemple, s’il n’y a pas d’entrée de téléphone portable pour l’enregistrement de cette personne, cette action ne renverra aucune donnée.
Ensuite, copiez les contrôles que vous avez créés pour l’action MyProfile et collez-les sous le contrôle ComboBox. Définissez les libellés et Valeurs par défaut des champs de saisie de texte collés comme suit :
Libellé | Valeur par défaut du champ de saisie de texte |
---|---|
Nom complet (Nom d’affichage) | varSearchUserInfo.displayName |
Poste | varSearchUserInfo.jobTitle |
Département | varSearchUserInfo.department |
Adresse e-mail | varSearchUserInfo.mail |
Ville | varSearchUserInfo.city |
Pays | varSearchUserInfo.country |
Code postal | varSearchUserInfo.postalCode |
Maintenez la touche Alt enfoncée et sélectionnez votre contrôle ComboBox, puis notez qu’il affiche les Noms d’affichage des utilisateurs disponibles ainsi qu’un champ de recherche. Sélectionnez un utilisateur et assurez-vous que les champs de saisie de texte ci-dessous sont renseignés. Les vôtres devraient ressembler à ceci :
Vous pouvez mettre votre application en mode « Lecture » et essayer de rechercher différents utilisateurs. Maintenant que vous avez découvert comment obtenir des informations pour d’autres utilisateurs, examinons d’autres données d’action disponibles avec le connecteur Utilisateurs d’Office 365.
Informations sur le responsable
Outre l’obtention d’informations utilisateur, vous pouvez obtenir des informations sur le Responsable d’un utilisateur.
Avec le contrôle ComboBox que vous avez créé, définissez la propriété OnChange sur : Set(varSearchUserInfo, Office365Users.ManagerV2(Self.Selected.Id))
.
Remarque
Si vous sélectionnez un utilisateur qui n’a pas de responsable, vos champs de saisie de texte peuvent afficher des erreurs lorsque votre application est en mode d’édition. En effet, Power Apps renvoie des données d’Erreur indiquant qu’aucun responsable n’existe pour cet utilisateur. Ensuite, ces informations vous permettent de présenter des notifications à vos utilisateurs telles que la suivante : « Cette personne n’a pas de responsable. » La fonction Erreurs renvoie des informations sur votre erreur, sans perturber l’expérience utilisateur.
Vous pouvez vérifier qu’il s’agit du responsable adéquat dans le Centre d’administration Microsoft 365 sous Utilisateurs actifs. La sélection du Nom d’affichage de l’utilisateur entraîne l’ouverture d’un volet sur le côté droit de l’écran où vous pouvez afficher ces informations.
Afficher tous les subordonnés directs
Outre la recherche d’informations sur le Responsable, votre connecteur Utilisateurs d’Office 365 vous permet de rechercher tous les subordonnés directs d’un seul responsable.
Nous allons présenter une liste de Subordonnés directs en combinant une Collection et un contrôle Galerie. Une Collection est une variable de données qui peut stocker une liste de données (ou une table) utilisable sur l’ensemble de votre application. Un contrôle Galerie affiche une table d’enregistrements et chaque enregistrement peut contenir plusieurs types de données. Dans ce scénario, nous allons établir une Collection comme notre source de données. Commencez par créer un écran.
Ajoutez un contrôle ComboBox, puis définissez les propriétés suivantes :
Propriété | Valeur |
---|---|
Éléments | Office365Users.SearchUserV2({searchTerm: Self.SearchText, isSearchTermRequired: false}).value |
DefaultSelectedItems | Office365Users.SearchUserV2({searchTerm:varUserInfo.displayName}).value |
DisplayFields | ["DisplayName"] |
IsSearchable | true |
SelectMultiple | false |
OnChange | ClearCollect(colDirectReports, Office365Users.DirectReportsV2(Self.Selected.Id).value) |
Présentons maintenant deux informations : le nombre de subordonnés directs d’un responsable et une liste de leurs noms.
Pour obtenir leur nombre, ajoutez un contrôle Libellé, puis définissez sa propriété Text sur CountRows(colDirectReports)
. Cette formule compte le nombre de lignes dans notre collection de rapports directs pour la personne sélectionnée. Si vous voyez un zéro, alors cette personne n’a pas de subordonnés directs.
Pour afficher une liste de tous les subordonnés directs de la personne sélectionnée, insérez un contrôle Galerie verticale, puis définissez la source de données (ou la propriété Items) sur colDirectReports. Définissez la propriété Layout sur Titre et la propriété Fields (ou la propriété Text du libellé Titre dans votre galerie) pour afficher displayName. Ensuite, votre écran devrait ressembler à ceci :
Nous avons maintenant découvert comment appeler des données basées sur des actions au moyen de la connexion Utilisateurs d’Office 365. Ces données nous ont permis de renseigner des champs de saisie de texte et une autre forme de données nommée Collection et d’afficher ces informations dans une Galerie. Dans l’unité suivante, étudions plus en détail comment afficher et interagir avec des données dans une galerie.
Pour en savoir plus sur la connexion Utilisateurs d’Office 365, consultez Référence sur le connecteur Utilisateurs d’Office 365.