从 Power Apps 连接到 Office 365 Outlook
如果连接到 Office 365 Outlook,则除了其他任务之外,还可以显示、发送、删除和回复电子邮件。
可以添加控件,从而在应用中实现这些功能。 例如,可以添加文本输入控件来提示输入电子邮件的收件人、主题和正文,也可以添加按钮控件来发送电子邮件。
本问演示了如何将 Office 365 Outlook 添加为连接、如何将 Office 365 Outlook 添加为应用的数据源,以及如何在不同控件中使用此数据。
重要
截至本文撰写之时,日历操作不支持周期性活动。
先决条件
- 对 Power Apps 的访问权限
- 添加连接
- 通过模板、数据或者从头创建应用程序
连接到 Office 365 Outlook
添加数据连接并选择 Office 365 Outlook:
选择连接,如果系统提示您登录,请输入您的工作帐户。
Office 365 Outlook 连接已创建并已添加到您的应用。 现在可供使用。
显示邮件
在插入菜单上,选择库,然后选择垂直空白控件。
将其 Items 属性设置为以下公式:
Office365Outlook.GetEmails({fetchOnlyUnread:false})
更改设置后,将布局更改为标题、副标题、正文。
系统会自动使用一些电子邮件填充库控件。
在库中,将第一个标签的 Text 属性设置为
ThisItem.From
。 将第二个标签设置为ThisItem.Subject
。 将第三个标签设置为ThisItem.BodyPreview
。 还可以重设标签大小。系统会自动使用新属性填充库控件。
此函数有几个可选参数。 将库的 Items 属性设置为以下公式之一:
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})
发送邮件
在插入菜单上,选择文本,然后选择文本输入。
再重复执行上述步骤两次,以创建三个框,再将这些框排入一列:
将这些控件重命名为:
- inputTo
- inputSubject
- inputBody
在插入菜单上,选择控件,然后选择按钮。 将其 OnSelect 属性设置为以下公式:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text)
移动按钮,使其出现在所有其他控件下方,并将其 Text 属性设置为发送电子邮件。
按 F5 或选择“预览”按钮 ()。 在 inputTo 中键入有效的电子邮件地址,并在其他两个文本输入控件中键入所需的任何内容。
选择发送电子邮件来发送邮件。 按 Esc 返回默认工作区。
发送包含附件的邮件
例如,可以创建应用,以便用户能够使用设备摄像头拍摄照片,并将照片作为附件发送。 用户还可以将其他许多类型的文件附加到电子邮件应用。
若要向邮件添加附件,请按照上一部分中的步骤操作,不同之处在于(设置按钮的 OnSelect 属性时)添加用于指定附件的参数。 此参数采用表结构,最多可以在其中为每个附件指定三个属性:
- 客户
- ContentBytes
- @odata.type
备注
只能为一个附件指定 @odata.type 属性,并能将它设置为空字符串。
在以下示例中,照片将以 file1.jpg 的形式发送:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text, {Attachments:Table({Name:"file1.jpg", ContentBytes:Camera1.Photo, '@odata.type':""})})
在以下示例中,除了照片之外,还将发送音频文件:
Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text, {Attachments:Table({Name:"file1.jpg", ContentBytes:Camera1.Photo, '@odata.type':""}, {Name:"AudioFile", ContentBytes:microphone1.audio })})
删除邮件
在插入菜单上,选择库,然后选择文本库控件。
将其 Items 属性设置为以下公式:
Office365Outlook.GetEmails({fetchOnlyUnread:false})
系统会自动使用一些电子邮件填充库控件。
在库中,将第一个标签的 Text 属性设置为
ThisItem.Id
。 将第二个标签设置为ThisItem.Subject
。 将第三个标签设置为ThisItem.Body
。选择库中的第一个标签,然后将其重命名为 EmailID:
选择库中的第三个标签,然后添加一个按钮控件(使用插入菜单)。 将按钮的 OnSelect 属性设置为以下公式:
Office365Outlook.DeleteEmail(EmailID.Text)
按 F5 或选择“预览”按钮 ()。 选择库中的一封电子邮件,然后选择此按钮。
备注
这会从收件箱中删除选定电子邮件。 因此,请慎重选择。
按 Esc 返回默认工作区。
将邮件标记为已读
此部分使用的控件与删除邮件部分一样。
将按钮的 OnSelect 属性设置为以下公式:
Office365Outlook.MarkAsRead(EmailID.Text)
按 F5 或选择“预览”按钮 ()。 选择一封未读电子邮件,再选择此按钮。
按 Esc 返回默认工作区。
另请参阅
- 有关所有函数及其参数的列表,请参阅 Office 365 Outlook 参考。
- 查看所有可用连接。
- 了解如何管理连接。