从 Power Apps 连接到 Office 365 Outlook

Office 365 Outlook。

如果连接到 Office 365 Outlook,除了其他任务外,还可以显示、发送、删除和答复电子邮件。

可以添加控件以在应用中执行这些函数。 例如,可以添加 文本输入 控件来请求收件人、主题和电子邮件正文,并添加 按钮 控件以发送电子邮件。

本文介绍如何将 Office 365 Outlook 添加为连接,将 Office 365 Outlook 添加为应用的数据源,并在不同的控件中使用此数据。

重要

在撰写本文时,日历作不支持定期事件。

先决条件

连接到 Office 365 Outlook

  1. 添加数据连接 并选择 Office 365 Outlook

    连接到 Office 365。

  2. 选择 “连接”,如果系统提示登录,请输入工作帐户。

Office 365 Outlook 连接已创建并添加到你的应用。 现在,它已准备好使用。

显示消息

  1. “插入 ”菜单上,选择 “库”,然后选择 空白垂直 控件。

  2. 将其 Items 属性设置为以下公式:

    Office365Outlook.GetEmails({fetchOnlyUnread:false})

    更改设置后,将 布局 更改为 标题、副标题、正文

    库控件会自动填充一些电子邮件。

  3. 在库中,将第一个标签的 Text 属性设置为 ThisItem.From。 将第二个标签设置为 ThisItem.Subject。 将第三个标签设置为 ThisItem.BodyPreview。 还可以调整标签的大小。

    库控件会自动填充新属性。

  4. 此函数有多个可选参数可用。 将库的 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})

发送消息

  1. “插入 ”菜单上,选择“ 文本”,然后选择“ 文本输入”。

  2. 再重复上一步骤 2 次,以便有三个框,然后在列中排列它们:

    列中的三个框。

  3. 将控件重命名为:

    • inputTo
    • inputSubject
    • inputBody
  4. “插入 ”菜单上,选择“ 控件”,然后选择“ 按钮”。 将其 OnSelect 属性设置为以下公式:

    Office365Outlook.SendEmail(inputTo.Text, inputSubject.Text, inputBody.Text)

  5. 移动按钮,使其显示在所有其他控件下,并将其 Text 属性设置为“发送电子邮件”。

  6. 按 F5,或选择“预览”按钮(预览按钮)。inputTo 中键入有效的电子邮件地址,并在其他两个 文本输入 控件中键入所需的任何内容。

  7. 选择 “发送电子邮件 ”以发送邮件。 按 Esc 返回默认工作区。

发送带有附件的邮件

例如,可以创建一个应用,用户使用设备的相机拍摄照片,然后将其作为附件发送。 用户还可以将许多其他类型的文件附加到电子邮件应用。

若要向邮件添加附件,请按照上一部分中的步骤作,但添加参数以指定附件(设置按钮的 OnSelect 属性时)。 此参数的结构是一个表,在其中为每个附件指定最多三个属性:

  • Name
  • 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 })})

删除邮件

  1. “插入 ”菜单上,选择 “库”,然后选择 “文本库 ”控件。

  2. 将其 Items 属性设置为以下公式:

    Office365Outlook.GetEmails({fetchOnlyUnread:false})

    库控件会自动填充一些电子邮件。

  3. 在库中,将第一个标签的 Text 属性设置为 ThisItem.Id。 将第二个标签设置为 ThisItem.Subject。 将第三个标签设置为 ThisItem.Body

  4. 选择库中的第一个标签,并将其重命名为 EmailID

    重命名第一个标签。

  5. 选择库中的第三个标签,然后添加 按钮插入 菜单)。 将按钮的 OnSelect 属性设置为以下公式:

    Office365Outlook.DeleteEmail(EmailID.Text)

  6. 按 F5,或选择“预览”按钮(预览按钮)。 选择库中的其中一封电子邮件,然后选择按钮。

    注释

    这会从收件箱中删除所选电子邮件。 因此,明智地选择。

  7. 按 Esc 返回默认工作区。

将邮件标记为已读

本部分使用与 删除消息相同的控件。

  1. 将按钮的 OnSelect 属性设置为以下公式:

    Office365Outlook.MarkAsRead(EmailID.Text)

  2. 按 F5,或选择“预览”按钮(预览按钮)。 选择其中一封未读的电子邮件,然后选择该按钮。

  3. 按 Esc 返回默认工作区。

另请参阅