Conectar-se ao Office 365 Outlook a partir do Power Apps
Se você se conectar ao Office 365 Outlook, será possível exibir, enviar, excluir e responder a mensagens de email, além de outras tarefas.
É possível adicionar controles para executar essas funções em seu aplicativo. Por exemplo, você pode adicionar controles Entrada de texto para solicitar o destinatário, o assunto e o corpo do email e adicionar um controle Botão para enviar o email.
Este artigo mostra como adicionar o Office 365 Outlook como uma conexão, como adicionar o Office 365 Outlook como uma fonte de dados ao seu aplicativo e como usar esses dados em controles diferentes.
Importante
Quando este artigo foi escrito, a operação de calendário não dava suporte para eventos recorrentes.
Pré-requisitos
- Acesso a Power Apps
- Adicionar a conexão
- Crie um aplicativo direto de um modelo, com dados ou do zero
Conectar-se ao Office 365 Outlook
Adicione uma conexão de dados e selecione Office 365 Outlook:
Selecione Conectar e, se for solicitado que você entre, insira sua conta corporativa.
A conexão do Office 365 Outlook foi criada e adicionada ao seu aplicativo. Agora, ele está pronto para ser usado.
Mostrar mensagens
No menu Inserir, selecione Galeria e selecione um controle Vertical em branco.
Defina sua propriedade Items como a fórmula a seguir:
Office365Outlook.GetEmails({fetchOnlyUnread:false})
Após mudar as configurações, altere Layout para Título, Subtítulo, Corpo.
O controle da galeria é preenchido automaticamente com alguns dos seus emails.
Na galeria, defina a propriedade Text do primeiro rótulo como
ThisItem.From
. Defina o segundo rótulo comoThisItem.Subject
. Defina o terceiro rótulo comoThisItem.BodyPreview
. Também é possível redimensionar os rótulos.O controle da galeria é preenchido automaticamente com as novas propriedade propriedades.
Essa função tem vários parâmetros opcionais disponíveis. Defina a propriedade Items da galeria como uma das fórmulas a seguir:
Office365Outlook.GetEmails({fetchOnlyUnread:false})
Office365Outlook.GetEmails({fetchOnlyUnread:false, top:2})
Office365Outlook.GetEmails({folderPath:"Sent Items", fetchOnlyUnread:false, top:2})
Office365Outlook.GetEmails({folderPath:"Sent Items", fetchOnlyUnread:false, top:2, searchQuery:"powerapps"})
Office365Outlook.GetEmails({folderPath:"Deleted Items", fetchOnlyUnread:false, top:2, skip:3})
Enviar uma mensagem
No menu Inserir, selecione Texto e, em seguida, Entrada de texto.
Repita a etapa anterior mais duas vezes para obter três caixas e, em seguida, as organize em uma coluna:
Renomeie os controles como:
- inputTo;
- inputSubject;
- inputBody.
No menu Inserir, selecione Controles e, em seguida, Botão. Defina sua propriedade OnSelect como a fórmula a seguir:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text)
Mova o botão para que ele apareça em todos os outros controles e defina sua propriedade Text como "Enviar email".
Pressione F5 ou selecione o botão Visualizar (). Digite um endereço de email válido em inputTo e digite o que quiser nos outros dois controles Entrada de texto.
Selecione Enviar email para enviar a mensagem. Pressione Esc para retornar ao espaço de trabalho padrão.
Enviar uma mensagem com um anexo
Você pode, por exemplo, criar um aplicativo no qual o usuário tira fotos usando a câmera do dispositivo e, em seguida, as envia como anexos. Os usuários também podem anexar vários outros tipos de arquivos em um aplicativo de email.
Para adicionar um anexo a uma mensagem, siga as etapas na seção anterior, mas adicione um parâmetro para especificar um anexo (quando você definir a propriedade OnSelect do botão). Esse parâmetro é estruturado como uma tabela na qual você especifica até três propriedades para cada anexo:
- Name
- ContentBytes;
- @odata.type
Observação
Você pode especificar a propriedade @odata.type para apenas um anexo e defini-la como uma cadeia de caracteres vazia.
Neste exemplo, uma foto será enviada como file1.jpg:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text, {Attachments:Table({Name:"file1.jpg", ContentBytes:Camera1.Photo, '@odata.type':""})})
Neste exemplo, um arquivo de áudio será enviado junto com a foto:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text, {Attachments:Table({Name:"file1.jpg", ContentBytes:Camera1.Photo, '@odata.type':""}, {Name:"AudioFile", ContentBytes:microphone1.audio })})
Excluir uma mensagem
No menu Inserir, selecione Galeria e, em seguida, um controle Galeria de texto.
Defina sua propriedade Items como a fórmula a seguir:
Office365Outlook.GetEmails({fetchOnlyUnread:false})
O controle da galeria é preenchido automaticamente com alguns dos seus emails.
Na galeria, defina a propriedade Text do primeiro rótulo como
ThisItem.Id
. Defina o segundo rótulo comoThisItem.Subject
. Defina o terceiro rótulo comoThisItem.Body
.Selecione o primeiro rótulo na galeria e renomeie-o como EmailID:
Selecione o terceiro rótulo na galeria e adicione um Botão (menu Inserir). Defina a propriedade OnSelect do botão como a fórmula a seguir:
Office365Outlook.DeleteEmail(EmailID.Text)
Pressione F5 ou selecione o botão Visualizar (). Selecione um dos emails na galeria e selecione o botão.
Observação
Isso exclui o email selecionado da caixa de entrada. Portanto, escolha com cuidado.
Pressione Esc para retornar ao espaço de trabalho padrão.
Marcar uma mensagem como lida
Esta seção usa os mesmos controles que Excluir uma mensagem.
Defina a propriedade OnSelect do botão como a fórmula a seguir:
Office365Outlook.MarkAsRead(EmailID.Text)
Pressione F5 ou selecione o botão Visualizar (). Selecione um dos emails não lidos e, em seguida, selecione o botão.
Pressione Esc para retornar ao espaço de trabalho padrão.
Confira também
- Para obter uma lista de todas as funções e seus parâmetros, consulte a referência do Office 365.
- Veja todas as conexões disponíveis.
- Saiba como gerenciar suas conexões.
Observação
Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)
A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).