Agregar usuarios de Office 365 a su aplicación
La conexión Usuarios de Office 365 para Power Apps le permite acceder a los perfiles de usuario de su organización con su cuenta de Office 365. Puede realizar diversas acciones, como obtener su perfil, el perfil de un usuario, el administrador de un usuario o los subordinados directos.
Puede mostrar esta información mediante etiquetas en su aplicación. Puede mostrar una función, varias funciones o incluso combinar funciones diferentes. Por ejemplo, puede usar esta función para hacer que la aplicación parezca más personal, saludando al usuario actual con su nombre para mostrar o al completar automáticamente determinados campos de datos.
Agregar una conexión
El origen de datos Usuarios de Office 365 es un conector estándar que se puede utilizar en Power Apps. Para agregar este conector, seleccione Agregar datos desde la cinta de comandos e introduzca "Usuarios de Office 365" en el campo de búsqueda. Seleccione Usuarios de Office 365 en la lista y, en el cuadro de diálogo que aparece con su conexión, seleccione su conexión de Usuarios de Office 365.
Puede ver un cuadro de diálogo similar al siguiente, si es la primera vez que agrega este conector en este entorno. Seleccione Conectar para agregar esta conexión.
Información del perfil del usuario
Se llama a la información del perfil de usuario a través de la acción Usuarios de Office 365 MyProfile. Asimismo, podemos obtener información sobre otros usuarios llamando a la acción SearchUser. Dispone de algunas opciones para obtener información de usuarios en la aplicación de lienzo. Para obtener información sobre el usuario que está utilizando la aplicación, puede utilizar la función App OnStart u OnSelect de un botón.
Almacenar información de perfil de usuario mediante App OnStart
Aquí obtenemos el registro que contiene la información del usuario que estamos buscando y la guardaremos en una variable global, lo que facilitará su reutilización en toda la aplicación. Dado que se trata de un registro de información, tenemos acceso a cualquier información existente en su perfil de Office 365.
Seleccione Aplicación, elija la propiedad OnStart y agregue la siguiente fórmula.
Set(varUserInfo, Office365Users.MyProfileV2())
Para rellenar nuestra variable, seleccione los puntos suspensivos junto a Aplicación y, luego, Ejecutar OnStart.
Con la variable de registro global varUserInfo ahora rellenada, puede llamar a esa información en cualquier lugar de la aplicación. Por ejemplo, en la propiedad Default de un control Entrada de texto, puede agregar varUserInfo.displayName.
En la imagen siguiente, se muestran los atributos que se pueden rellenar automáticamente en la aplicación, lo que le ahorra tiempo al usuario si lo comparamos con la introducción manual. Puede agregar campos de entrada de texto y mostrar campos adicionales, como cargo, departamento, dirección, ciudad, estado y código postal.
Los datos recopilados de la acción MyProfileV2 incluyen metadatos del perfil de Usuarios de Office 365 para ese usuario. Tras el acceso, se pueden utilizar en cualquier lugar de la aplicación.
Control OnSelect
Si necesita recopilar datos acerca de otro usuario (alguien que no sea el usuario actual), puede usar las acciones SearchUser y UserProfile. Vamos a practicar esto agregando un ComboBox a una aplicación de lienzo con el origen de datos Office365Users.
Establezca las propiedades de su combo box de la siguiente manera:
| Propiedad | Valor |
|---|---|
| Items | 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)) |
La acción SearchUser recopila metadatos de perfiles de cuentas similares como la acción MyProfile. En la propiedad OnChange de nuestro control, usamos la función UserProfileV2 para obtener los metadatos del usuario seleccionado mediante el id. del usuario seleccionado desde SearchUserV2.
Nota
Solo podrá ver todos los datos si se han introducido para esa cuenta; de lo contrario, verá un resultado predeterminado o nulo. Por ejemplo, si no se ha introducido el teléfono móvil para el registro de esa persona, esta acción no devolverá ningún dato.
A continuación, copie los controles que creó para la acción MyProfile y péguelos debajo del combo box. Cambie las etiquetas y la configuración Predeterminada de los campos de entrada de texto pegados de la siguiente manera:
| Etiqueta | Valor predeterminado de Text Input |
|---|---|
| Nombre completo (Nombre para mostrar) | varSearchUserInfo.displayName |
| Puesto | varSearchUserInfo.jobTitle |
| Departamento | varSearchUserInfo.department |
| Correo electrónico | varSearchUserInfo.mail |
| Ciudad | varSearchUserInfo.city |
| País | varSearchUserInfo.country |
| Código postal | varSearchUserInfo.postalCode |
Mantenga presionada la tecla Alt y seleccione su control combo box. Observará que le muestra los nombres para mostrar de los usuarios disponibles, así como un campo de búsqueda. Continúe, seleccione a un usuario y asegúrese de que se rellenan los siguientes campos de entrada de texto.
Puede poner su aplicación en modo "Reproducir" e intentar buscar a diferentes usuarios. Ahora que ha visto cómo podemos obtener información para otros usuarios, veamos otros datos de acción disponibles con el conector Usuarios de Office 365.
Información del administrador
Además de obtener la información de un usuario, también puede obtener la información del Administrador del usuario.
Con el control ComboBox que ha creado, modifique la propiedad OnChange a: Set(varSearchUserInfo, Office365Users.ManagerV2(Self.Selected.Id)).
Nota
Si selecciona un usuario que no tiene administrador, observará que sus campos de entrada de texto pueden mostrar errores cuando su aplicación se encuentre en modo de edición. Esto se debe a que Power Apps devuelve datos de Error que indican que no existe un administrador para este usuario. Luego puede usar esa información para mostrar notificaciones a sus usuarios como: "Esta persona no tiene un administrador". La función Errors devuelve información sobre el error, sin interrumpir la experiencia del usuario.
Puede confirmar que este es el administrador correcto en el Centro de administración de Microsoft 365 en Usuarios activos. Al seleccionar el Nombre para mostrar del usuario se abre un panel en el lado derecho de la pantalla donde puede ver esta información.
Ver todos los subordinados
De forma similar a la búsqueda de información del Administrador, su conector de Usuarios de Office 365 también le permite encontrar todos los usuarios subordinados directos de un administrador.
Usamos una combinación de Colección y Galería para presentar una lista de Subordinados directos. Un control Collection es una variable de datos que puede almacenar una lista de datos, o una tabla, que se puede usar en toda su aplicación. Un control Galería muestra una tabla de registros, y cada registro puede contener varios tipos de datos. En este escenario, establecemos Collection como el origen de datos. Comience creando una nueva pantalla.
Agregue un control ComboBox y establezca las siguientes propiedades:
| Propiedad | Valor |
|---|---|
| Items | 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) |
Ahora vamos a presentar dos fragmentos de información: uno es ver cuántos usuarios son subordinados de un administrador y el otro es una lista de sus nombres.
Para obtener un recuento de cuántos usuarios son subordinados de un administrador, agregue un control Etiqueta y establezca su propiedad Text en CountRows(colDirectReports). Esta fórmula cuenta cuántas filas hay en nuestra colección de subordinados directos para la persona seleccionada. Si aparecer un cero, entonces esta persona no tiene subordinados directos.
Para mostrar una lista de todos los subordinados directos para la persona seleccionada, inserte una Galería vertical y establezca el origen de datos (o la propiedad Items) en colDirectReports. Cambie el Diseño a Título y los Campos (o la propiedad Text de la etiqueta Title en su galería) para mostrar displayName. Cuando se complete, su pantalla ahora debe tener un aspecto similar al siguiente:
Ya hemos visto cómo llamar a datos basados en acciones mediante la Conexión de Usuarios de Office 365. Hemos usado estos datos para rellenar campos de Text Input y completar otra forma de datos llamada Colección y mostrar esa información en una Galería. En la siguiente unidad, exploremos más a fondo cómo mostrar e interactuar con datos en una galería.
Para obtener más información sobre la conexión de Usuarios de Office 365, consulte Referencia del conector de usuarios de Office 365.