Adicionar usuários do Office 365 ao seu aplicativo
A conexão do Usuários do Office 365 para Power Apps permite acessar perfis de usuário na sua organização usando sua conta do Office 365. Você pode executar várias ações, como obter o seu perfil, o perfil de um usuário, o gerente do usuário ou subordinados diretos.
Você pode exibir essas informações em rótulos no seu aplicativo. É possível exibir uma função, várias funções ou até mesmo combinar funções diferentes. Por exemplo, você pode usar essa função para tornar o aplicativo mais pessoal cumprimentando o usuário atual com seu nome de exibição ou preenchendo automaticamente determinados campos de dados com seu nome e número de telefone.
Adicionar uma conexão
A fonte de dados Usuários do Office 365 é um conector padrão que pode ser usado no Power Apps. Para adicionar esse conector, selecione Adicionar dados na faixa de opções de comandos e digite "Usuários do Office 365" no campo de pesquisa. Selecione Usuários do Office 365 na lista e, na caixa de diálogo que aparece com a sua conexão, selecione a conexão Usuários do Office 365.
Você poderá ver uma caixa de diálogo semelhante à abaixo, se esta for a primeira vez que você adiciona esse conector a esse ambiente. Selecione Conectar para adicionar essa conexão.
Informações do perfil de usuário
As informações do perfil de usuário são chamadas por meio da ação MyProfile de Usuários do Office 365. Da mesma forma, podemos obter informações sobre outros usuários chamando a ação SearchUser. Você tem algumas opções para obter informações de usuário no aplicativo de tela. Para obter informações sobre o usuário que está utilizando o aplicativo, você pode usar a função em App OnStart ou OnSelect de um botão.
Armazenar informações de perfil de usuário usando App OnStart
Aqui obtemos o registro com as informações de usuário que estamos procurando e o salvamos em uma variável global, o que facilita sua reutilização em todo o aplicativo. Como é um registro de informações, temos acesso a qualquer uma das informações existentes em seu perfil do Office 365.
Selecione App, depois a propriedade OnStart e adicione a fórmula a seguir.
Set(varUserInfo, Office365Users.MyProfileV2())
Para preencher nossa variável, selecione as reticências ao lado de App e selecione Run OnStart.
Agora que a variável do registro global varUserInfo está preenchida, você pode chamar as informações de qualquer lugar no aplicativo. Por exemplo, na propriedade Padrão de um controle de entrada de texto, você pode adicionar varUserInfo.displayName.
A imagem abaixo mostra os atributos que podem ser preenchidos automaticamente no aplicativo, economizando o tempo que o usuário levaria para inseri-los manualmente. Você pode adicionar campos de entrada de texto e exibir campos adicionais, como cargo, departamento, endereço, cidade, estado e código postal.
Os dados coletados da ação MyProfileV2 incluem metadados do perfil do usuário do Office 365 para o usuário. Uma vez acessado, ele pode ser usado em qualquer lugar do aplicativo.
Controle OnSelect
Se você precisa coletar dados sobre outro usuário (alguém diferente do usuário atual), pode usar as ações SearchUser e UserProfile. Vamos praticar isso adicionando uma ComboBox a um aplicativo de tela com a fonte de dados Office365Users.
Defina as propriedades da combo box da seguinte maneira:
| Propriedade | Valor |
|---|---|
| Itens | 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)) |
A ação SearchUser coleta metadados de perfil da conta semelhantes aos da ação MyProfile. Na propriedade OnChange de nosso controle, usamos a função UserProfileV2 para obter os metadados do usuário selecionado usando o ID do usuário selecionado do SearchUserV2.
Observação
Você só poderá ver todos os dados se eles tiverem sido inseridos para essa conta, caso contrário, verá um resultado padrão ou nulo. Por exemplo, se não houver entrada de telefone celular para o registro dessa pessoa, essa ação não retornará dados.
Em seguida, copie os controles criados para a ação MyProfile e cole-os abaixo da combo box. Altere os rótulos e as configurações Padrão dos campos de entrada de texto colados da seguinte maneira:
| Rótulo | Padrão de entrada de texto |
|---|---|
| Nome Completo (Nome de Exibição) | varSearchUserInfo.displayName |
| Cargo | varSearchUserInfo.jobTitle |
| Departamento | varSearchUserInfo.department |
| varSearchUserInfo.mail | |
| Cidade | varSearchUserInfo.city |
| País/região | varSearchUserInfo.country |
| Código Postal | varSearchUserInfo.postalCode |
Pressione e mantenha pressionada a tecla Alt e selecione o controle da combo box. Veja que ele mostra os nomes de exibição dos usuários disponíveis e um campo de pesquisa. Selecione um usuário e verifique se os campos de entrada de texto abaixo são preenchidos.
Você pode colocar seu aplicativo no modo "Reproduzir" e tentar procurar usuários diferentes. Agora que você viu como podemos obter informações de outros usuários, vamos ver alguns outros dados de ação disponíveis com o conector Usuários do Office 365.
Informações do gerente
Além de obter informações sobre um usuário, você pode obter informações do Gerente do usuário.
Com o controle ComboBox criado, modifique a propriedade OnChange para: Set(varSearchUserInfo, Office365Users.ManagerV2(Self.Selected.Id)).
Observação
Se você selecionar um usuário que não tenha um gerente, perceberá que os campos de entrada de texto podem mostrar erros quando seu aplicativo estiver no modo de edição. Isso ocorre porque o Power Apps retorna dados de Erro de que não existem gerentes para esse usuário. Em seguida, você pode usar essas informações para exibir notificações aos seus usuários, como: "Esta pessoa não tem um gerente." A função Erros retorna informações sobre o erro, sem prejudicar a experiência do usuário.
Você pode confirmar se este é o gerente correto no Centro de administração do Microsoft 365 em Usuários ativos. A seleção do Nome de exibição do usuário abre um painel no lado direito da tela, em que é possível exibir essas informações.
Exibir todos os subordinados diretos
Assim como na localização de informações do Gerente, o conector Usuários do Office 365 permite localizar todos os usuários que se reportam diretamente a um único gerente.
Vamos usar uma combinação de Coleção e Galeria para apresentar a lista de Subordinados Diretos. Uma Coleção é uma variável de dados que pode armazenar uma lista de dados, ou uma tabela, que pode ser usada no aplicativo inteiro. Um controle Galeria mostra uma tabela de registros, e cada registro pode conter vários tipos de dados. Neste cenário, vamos estabelecer uma Coleção como nossa fonte de dados. Primeiro, crie uma nova tela.
Adicione um controle ComboBox e defina as seguintes propriedades:
| Propriedade | Valor |
|---|---|
| Itens | 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) |
Agora, vamos apresentar duas informações: o número de usuários subordinados diretamente a um gerente e uma lista com os nomes deles.
Para obter a contagem dos subordinados de um determinado gerente, adicione um controle Rótulo e defina a propriedade Text como CountRows(colDirectReports). Essa fórmula conta quantas linhas há na coleção de subordinados diretos da pessoa selecionada. Se é exibido um valor zero, essa pessoa não tem subordinados diretos.
Para exibir uma lista de todos os subordinados diretos para a pessoa selecionada, insira uma Galeria vertical e defina a fonte de dados (ou a propriedade Items) como colDirectReports. Altere o Layout para Título e os Campos (ou a propriedade Text do rótulo Título em sua galeria) para mostrar displayName. Ao concluir, a tela deverá ter uma aparência semelhante a esta:
Agora sabemos como chamar dados baseados em ação por meio da Conexão Usuários do Office 365. Usamos esses dados para preencher os campos de entrada de texto e outro formulário de dados denominado Coleção e para mostrar essas informações em uma Galeria. Na próxima unidade, vamos descobrir como exibir e interagir com os dados em uma galeria.
Para obter mais informações sobre a conexão Usuários do Office 365, consulte a Referência do conector Usuários do Office 365.