Gmail

Gmail 是来自 Google 的基于 Web 的电子邮件服务。 使用 Gmail 连接器,可以执行诸如发送或接收电子邮件等作,并在新的电子邮件上触发流。

此连接器在以下产品和区域中可用:

服务 Class 区域
Copilot Studio 标准 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
逻辑应用程序 标准 除以下各项外的所有 逻辑应用区域
     - Azure 中国区域
     - 美国国防部(DoD)
Power Apps 标准 除以下各项外的所有 Power Apps 区域
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
Power Automate 标准 除以下各项外的所有 Power Automate 区域
     - 美国政府 (GCC High)
     - 由世纪互联运营的中国云
     - 美国国防部(DoD)
联系人​​
Name Microsoft
URL Microsoft LogicApps 支持
Microsoft Power Automate 支持
Microsoft Power Apps 支持
连接器元数据
发布者 Microsoft
网站 https://mail.google.com/mail/
隐私策略 https://policies.google.com/privacy

身份验证和自带应用程序

Gmail 连接器现在支持多种身份验证类型:

  • 使用默认共享应用程序
  • 自带应用程序

默认共享应用程序使用由Microsoft维护的 Google 客户端应用程序。 在这种情况下,登录到 Gmail 帐户时,系统会要求你同意 Microsoft Power Platform 应用程序。

使用“自带应用程序”选项,可以使用自己的 Google OAuth 客户端应用程序,而不是由Microsoft管理的应用程序。 这样做将允许你控制权限,并启用对连接器使用的某些限制。

若要将自己的 Google OAuth 客户端应用程序与 Gmail 连接器配合使用,需要执行以下步骤:

  1. 使用 Google 的 API 控制台创建 OAuth 客户端应用程序
  2. 在 Gmail 连接器中使用应用程序

在 Google 中创建 OAuth 客户端应用程序

若要创建自己的 Google OAuth 客户端应用程序,需要首先登录 https://developer.google.com。 导航到 Google 的 API 控制台(可在其中管理对 Google API 的访问权限)并创建 OAuth 应用程序。 此过程在 Google 的 Gmail API 开发人员指南中介绍。 Google 提供了一个 设置工具 ,用于指导你完成创建项目的过程,为项目启用 Gmail API,并为其创建 OAuth 客户端应用程序和凭据。 下面是在浏览工具时会发现有用的一些信息:

  • 根据需要阅读并同意服务条款。
  • 选择现有项目,或者该工具将创建一个名为“我的项目”的新项目。
  • 该工具将在项目中启用 Gmail API。
  • 该工具将尝试找出所需的凭据类型。 需要获取 OAuth 客户端应用程序。
    • 为将使用的 API 选择 Gmail API (如果尚未选择)。
    • 为要从中调用 API 的位置选择 Web 服务器
    • 选择要访问 的数据的用户数据
  • 该工具将引导你完成设置 OAuth 同意屏幕。
    • 选择用户类型(内部外部)。 如果使用 Gmail 使用者帐户,则不能选择 “内部”。
    • 为应用程序提供名称和徽标(可选)。
    • 单击“ 添加范围 ”并添加 Gmail 范围(https://mail.google.com)。

      注释

      根据使用情况需求,你可以在此处选择适当的权限范围子集。

    • 添加 azure-apim.net 作为授权域之一。

      注释

      这是托管 Gmail 连接器的域, 在此处定义。

    • (可选)提供其他信息。
  • 该工具可让你定义和添加 OAuth 2.0 客户端凭据。
    • 为 OAuth 客户端应用程序提供名称。
    • 添加“https://global.consent.azure-apim.net/redirect"用于重定向 URI。

完成后,从“凭据”页导航到创建的 OAuth 客户端。 你将找到应用的 客户端 ID客户端密码 。 现在可以在 Gmail 连接中使用这些值。

Google OAuth 客户端

在 Gmail 连接器中使用自己的应用程序

创建 Google OAuth 客户端应用程序后,可以在创建 Gmail 连接时使用它。

  • 选择“ 自带应用程序”。
  • 从应用程序指定客户端 ID 和客户端机密值。

单击“ 登录 ”以登录到 Gmail 帐户。 这将提示你登录到 Gmail 帐户,然后授权访问上面创建的 Google 应用。

已知问题和限制

触发大量传入电子邮件的限制

如果每 30 秒收到 300 多封电子邮件, 则新电子邮件到达 触发器可能会跳过电子邮件。 请考虑使用其他筛选器参数配置流以减少电子邮件数量。

如果使用的是 Google Workspace(前 G Suite)帐户, 新电子邮件到达 触发器可能会间歇性地跳过带有附件的电子邮件。 发生这种情况是因为在某些情况下 ,Gmail API 处理电子邮件需要很长时间(可能是由于附件的安全扫描),因此电子邮件会收到一定延迟。

若要解决此问题,请尝试以下作:

  • 使用小电子邮件(没有附件),尝试不经常发送它们

  • 使用另一个使用者 Gmail 帐户,并配置从 Google Workspace 帐户自动转发到此新的使用者 Gmail 帐户。 针对此新帐户配置触发器。 由于这是一个使用者帐户,因此我们认为延迟将最小化,触发器不会跳过此类电子邮件。

  • 自定义连接器 用于 ListMessage APIq 参数:

    • 创建一个作,列出过去 5 分钟的消息。 可以使用参数执行此作 qq参数值的示例 - after:1649457986. 应提供 current time - 5min 纪元时间作为作输入。

      • 1649457986是表示“2022年4月8日星期五,格林尼治标准时间下午3:46:26”的纪元时间。
    • 检查响应中的 nextPageToken 值,直到该值为空。 如果不是空,则需要从响应调用参数值设置为 nextPageToken 的相同 APIpageToken。 例如,可以使用 “Until”循环 执行此作。

    • 筛选掉先前运行中已处理的那些消息 ID(例如,可以使用 Azure 表存储 连接器来存储已处理的 ID)

    • 使用 “获取电子邮件详细信息 ”作按 ID 获取电子邮件内容

将 Gmail 连接器与使用者 Gmail 帐户配合使用

根据 Google 的安全和隐私策略,使用使用者 Gmail 帐户的客户(帐户即将结束 @gmail.com ,并且 @googlemail.com) 只能连接到 Power Automate 和逻辑应用中的一组有限的服务。 使用 Google Workspace(前 G Suite)帐户的客户不受此更改的影响。 如果需要将 Gmail 连接器用于以下列表中未指定的服务,则需要 向 Google 注册自己的应用程序 ID。 下面是当前批准的服务列表,请注意,根据 Google 的政策,此列表将来可能会更改:

  • Google 服务:Gmail、Google Calendar、Google Contacts、Google Drive、Google Sheets、Google Tasks
  • 内置作和触发器:Control、AI Builder、数据作、日期时间、数字函数、Power Virtual Agents、Power Apps、Request、Schedule、Text Functions、Variables、Flow 按钮、位置
  • 有限的一组Microsoft服务:OneDrive、Sharepoint、Excel、Dynamics、Microsoft Teams、Office 365、SQL、SFTP 和 FTP

在 Power Automate 中,如果使用不符合的服务创建流,流最终会以禁用状态保存。

计算工作单位

连接器对一天内可以使用的工作单位数有限制(请参阅 此处)。

下面显示了如何为每个作计算这些工作单位的逻辑:

  • 当新电子邮件到达触发器时 :10 + (5 * attachmentsCount):
    • 如果触发器返回新电子邮件:5 个单位列出邮件 + 5 个单位以获取邮件 + 5 个单位 * 附件计数。
    • 如果触发器未返回新电子邮件:列出邮件的 5 个单位。
  • 发送电子邮件(V2) 作:100 个单位。
  • 答复电子邮件(V2) 作:105 + (5 * attachmentsCount):
    • 5 个单位用于获取原始邮件 + 100 个单位以发送答复邮件 + 5 个单位 * 原始邮件中的内联附件计数。
  • 对于所有其他作:10 个单位。

连接器深入

有关连接器的详细信息,请参阅 深入部分

常规限制

Name 价值
最大邮件大小(以 MB 为单位) 35
最大附件大小(以 MB 为单位) 30

正在创建连接

连接器支持以下身份验证类型:

自带应用程序 使用自己的 Google 应用登录。 有关详细信息,请参阅 https://docs.microsoft.com/connectors/gmail/#authentication-and-bring-your-own-application 所有区域 不可共享
使用默认共享应用程序 使用标准 Google 应用登录。 所有区域 不可共享
默认值 [已弃用] 此选项仅适用于没有显式身份验证类型的较旧连接,并且仅用于向后兼容性。 所有区域 不可共享

自带应用程序

身份验证 ID:byoa

适用:所有区域

使用自己的 Google 应用登录。 有关详细信息,请参阅 https://docs.microsoft.com/connectors/gmail/#authentication-and-bring-your-own-application

这是不可共享的连接。 如果 Power App 与另一个用户共享,系统会提示其他用户显式创建新连接。

Name 类型 Description 必选
客户 ID 字符串 Google 应用程序的客户端(或应用程序)ID True
客户端密码 securestring Google 应用程序的客户端密码 True

使用默认共享应用程序

身份验证 ID:shared-application

适用:所有区域

使用标准 Google 应用登录。

这是不可共享的连接。 如果 Power App 与另一个用户共享,系统会提示其他用户显式创建新连接。

默认值 [已弃用]

适用:所有区域

此选项仅适用于没有显式身份验证类型的较旧连接,并且仅用于向后兼容性。

这是不可共享的连接。 如果 Power App 与另一个用户共享,系统会提示其他用户显式创建新连接。

限制

名称 调用 续订期
每个连接的 API 调用数 60 60 秒
每天的工作单位数 90000 86400 秒

操作

删除电子邮件

此作用于永久删除特定电子邮件。

发送电子邮件 [已弃用]

此作已弃用。 请改用发送电子邮件(V2)。

此作用于向特定收件人发送电子邮件。

发送电子邮件(V2)

此作用于向特定收件人发送电子邮件。

回复电子邮件 [已弃用]

此作已弃用。 请改用答复电子邮件(V2)。

此作用于回复特定电子邮件。

将电子邮件移动到回收站

此作用于将特定电子邮件移动到回收站。

答复电子邮件 (V2)

此作用于回复特定电子邮件。

获取电子邮件详细信息

此作检索特定电子邮件的详细信息。

删除电子邮件

此作用于永久删除特定电子邮件。

参数

名称 密钥 必需 类型 说明
消息 ID
id True string

要删除的电子邮件的 ID。

发送电子邮件 [已弃用]

此作已弃用。 请改用发送电子邮件(V2)。

此作用于向特定收件人发送电子邮件。

参数

名称 密钥 必需 类型 说明
To True email

用分号或逗号分隔的有效电子邮件地址列表。

CC
Cc email

用分号或逗号分隔的有效电子邮件地址列表。

BCC
Bcc email

用分号或逗号分隔的有效电子邮件地址列表。

Subject
Subject string

传出电子邮件的主题。

Body
Body string

传出电子邮件的正文。

是 HTML
IsHtml boolean

如果以 HTML 形式发送电子邮件,则为 True。 (默认值:True)

重要性
Importance string

与电子邮件关联的重要性。

Name
Name True string

附件的标题。

Content
ContentBytes True byte

附件的正文。

Content-Type
ContentType string

附件中内容类型。

发送电子邮件(V2)

此作用于向特定收件人发送电子邮件。

参数

名称 密钥 必需 类型 说明
To True email

用分号或逗号分隔的有效电子邮件地址列表。

CC
Cc email

用分号或逗号分隔的有效电子邮件地址列表。

BCC
Bcc email

用分号或逗号分隔的有效电子邮件地址列表。

Subject
Subject string

传出电子邮件的主题。

Body
Body html

传出电子邮件的正文。

重要性
Importance string

与电子邮件关联的重要性。

Name
Name True string

附件的标题。

Content
ContentBytes True byte

附件的正文。

Content-Type
ContentType string

附件中内容类型。

回复电子邮件 [已弃用]

此作已弃用。 请改用答复电子邮件(V2)。

此作用于回复特定电子邮件。

参数

名称 密钥 必需 类型 说明
消息 ID
id True string

要答复的电子邮件的 ID。

To email

示例: recipient1@domain.comrecipient2@domain.com

CC
Cc email

示例: recipient1@domain.comrecipient2@domain.com

BCC
Bcc email

示例: recipient1@domain.comrecipient2@domain.com

Subject
Subject string

电子邮件主题(如果为空,则使用原始主题)。

Body
Body string

电子邮件的内容。

全部答复
ReplyAll boolean

如果答复所有收件人,则为 True。 (默认值:False)

是 HTML
IsHtml boolean

如果以 HTML 形式发送答复,则为 True。 (默认值:True)

重要性
Importance string

选取重要性。 (默认值:普通)

Name
Name True string

附件的标题。

Content
ContentBytes True byte

附件的正文。

Content-Type
ContentType string

附件中内容类型。

将电子邮件移动到回收站

此作用于将特定电子邮件移动到回收站。

参数

名称 密钥 必需 类型 说明
消息 ID
id True string

要移动到回收站的电子邮件的 ID。

答复电子邮件 (V2)

此作用于回复特定电子邮件。

参数

名称 密钥 必需 类型 说明
消息 ID
id True string

要答复的电子邮件的 ID。

To email

示例: recipient1@domain.comrecipient2@domain.com

CC
Cc email

示例: recipient1@domain.comrecipient2@domain.com

BCC
Bcc email

示例: recipient1@domain.comrecipient2@domain.com

Subject
Subject string

电子邮件主题(如果为空,则使用原始主题)。

Body
Body html

电子邮件的内容。

全部答复
ReplyAll boolean

如果答复所有收件人,则为 True。 (默认值:False)

重要性
Importance string

选取重要性。 (默认值:普通)

Name
Name True string

附件的标题。

Content
ContentBytes True byte

附件的正文。

Content-Type
ContentType string

附件中内容类型。

获取电子邮件详细信息

此作检索特定电子邮件的详细信息。

参数

名称 密钥 必需 类型 说明
消息 ID
id True string

电子邮件的唯一 ID。

包括附件
includeAttachments boolean

如果设置为 true,则附件也会随电子邮件一起检索。

返回

与特定电子邮件关联的详细信息。

触发器

新电子邮件到达时

当符合指定条件的新电子邮件到达时,此作将触发。

新电子邮件到达时

当符合指定条件的新电子邮件到达时,此作将触发。

参数

名称 密钥 必需 类型 说明
标签
label string

选取标签(默认值:收件箱)。

to email

用分号或逗号分隔的有效电子邮件地址列表。

来自
from email

示例:Sender1 | sender2@domain.com。

Subject
subject string

要查找的主题中的字符串。

重要性
importance string

如此 如果电子邮件应该很重要。 (默认值:全部)。

主演
starred string

如此 如果电子邮件应为星号。 (默认值:全部)。

带有附件
fetchOnlyWithAttachments boolean

如果仅检索带有附件的电子邮件,则为 True。

包括附件
includeAttachments boolean

若要检索附件以及电子邮件,则为 True。

返回

与特定电子邮件关联的详细信息。

定义

DetailedReceiveMessage

与特定电子邮件关联的详细信息。

名称 路径 类型 说明
来自
From email

发送邮件的电子邮件地址。

发件人姓名
SenderName string

电子邮件发件人的姓名

To email

邮件发送到的电子邮件地址。

CC
Cc email

抄送字段中包含的电子邮件地址。

BCC
Bcc email

BCC 字段中包含的电子邮件地址。

Subject
Subject string

与电子邮件关联的主题或主题。

Body
Body string

电子邮件的内容。

片段
Snippet string

消息文本的简短部分。

标签 ID
LabelIds array of string

与电子邮件关联的标签列表。

收到的 Date-Time
DateTimeReceived date-time

示例:2017-05-03T20:08:57+00:00

估计大小
EstimatedSize integer

消息的估计大小(以字节为单位)。

是否读取?
IsRead boolean

如果已读取消息,则为 True;否则为 false。

是 HTML
IsHtml boolean

如此 如果消息采用 HTML 格式。

带有附件
HasAttachments boolean

如此 如果邮件有附件。

附件
Attachments array of Attachment

电子邮件附件列表。

消息 ID
Id string

消息的不可变 ID。

线程 ID
ThreadId string

消息所属的线程的 ID。

附件

电子邮件附件的属性。

名称 路径 类型 说明
Name
Name string

附件的标题。

Content
ContentBytes byte

附件的正文。

Content-Type
ContentType string

附件中内容类型。