Gmail
Gmail 是 Google 提供的基於網絡的電子郵件服務。 使用 Gmail 連接器,您可以執行傳送或接收電子郵件訊息等動作,以及觸發新電子郵件的流程。
此連接器適用於以下產品和區域:
| 服務 | Class | Regions |
|---|---|---|
| 副駕駛工作室 | 標準 | 除下列區域外的所有 Power Automate 區域 : - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| 邏輯應用程式 | 標準 | 所有 Logic Apps 區域, 但下列區域除外: - Azure 中國區域 - 美國國防部 (DoD) |
| Power Apps | 標準 | 除下列區域外的所有 Power Apps 區域 : - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| Power Automate(自動化服務) | 標準 | 除下列區域外的所有 Power Automate 區域 : - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| 連絡人 | |
|---|---|
| 名稱 | Microsoft |
| URL |
Microsoft LogicApps 支援 Microsoft Power Automate 支援 Microsoft Power Apps 支援 |
| 連接器中繼資料 | |
|---|---|
| Publisher | Microsoft |
| 網站 | https://mail.google.com/mail/ |
| 隱私策略 | https://policies.google.com/privacy |
驗證和自備應用程式
Gmail 連接器現在支援多種驗證型別:
- 使用預設共用應用程式
- 自備應用程式
預設共用應用程式會使用 Microsoft 維護的 Google 用戶端應用程式。 在此情況下,當您登入 Gmail 帳戶時,系統會要求您同意 Microsoft Power Platform 應用程式。
透過「自帶應用程式」選項,您可以使用自己的 Google OAuth 用戶端應用程式,而不是由 Microsoft 管理的應用程式。 這樣做將允許您控制權限並啟用連接器使用的某些限制。
如要將您自己的 Google OAuth 用戶端應用程式與 Gmail 聯結器搭配使用,您必須執行下列步驟:
- 使用 Google 的 API 控制台建立 OAuth 用戶端應用程式
- 在 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 (如果尚未選取)。
- 選取 [Web 伺服器 ] 作為您要從中呼叫 API 的位置。
- 選取您要存取的資料的使用者 資料 。
- 該工具將引導您完成設定 OAuth 同意畫面。
- 選取使用者類型 (內部 或 外部)。 如果您使用的是 Gmail 消費者帳戶,則無法選取 內部。
- 提供應用程式的名稱和標誌 (選擇性)。
- 按一下 [新增範圍] ,然後新增 Gmail 範圍 (https://mail.google.com)。
備註
根據您的使用需求,您可以在此處選取適當的權限範圍子集。
- 將 azure-apim.net 新增為授權網域之一。
備註
這是託管 Gmail 連接器的網域,如此 處定義。
- 或者,提供其他資訊。
- 該工具可讓您定義和新增 OAuth 2.0 用戶端憑證。
- 提供 OAuth 用戶端應用程式的名稱。
- 新增「https://global.consent.azure-apim.net/redirect"重新導向 URI。
完成後,請從 認證 頁面導覽至已建立的 OAuth 用戶端。 您會找到應用程式的 用戶端識別碼 和 用戶端密碼 。 您現在可以在 Gmail 連線中使用這些值。
在 Gmail 聯結器中使用您自己的應用程式
建立 Google OAuth 用戶端應用程式後,您可以在建立 Gmail 連線時使用它。
- 選取 [自備應用程式]。
- 從您的應用程式指定用戶端 ID 和用戶端密碼值。
單擊 登錄以 登錄您的 Gmail 帳戶。 這將提示您登入 Gmail 帳戶,然後授權存取您在上面建立的 Google 應用程式。
已知問題與限制
觸發大量傳入電子郵件的限制
此 When a new email arrives 觸發器可能會略過電子郵件,如果您每 30 秒收到超過 300 封電子郵件間隔。 請考慮使用其他篩選器參數來設定流程,以減少電子郵件數量。
如果您使用 Google Workspace (舊稱 G Suite) 帳戶,「 當新電子郵件送達時 」觸發器可能會間歇性地略過帶有附件的電子郵件。 發生這種情況是因為在某些情況下, Gmail API 需要很長時間來處理電子郵件(可能是由於附件的安全掃描),因此收到電子郵件會有一定的延遲。
盡可能的因應措施請嘗試以下操作:
使用小型電子郵件(無附件),盡量不要頻繁發送
使用另一個消費者 Gmail 帳戶,並設定從 Google Workspace 帳戶自動轉寄至這個新的消費者 Gmail 帳戶。 針對此新帳戶設定觸發器。 由於這是一個消費者帳戶,我們相信延遲將最小化,觸發器不會跳過此類電子郵件。
使用具有參數的
qListMessage API 的自訂連接器:建立動作來列出過去 5 分鐘的訊息。 您可以使用參數來
q執行此操作。 參數值的q範例 -after:1649457986。 您應該提供current time - 5min紀元時間作為動作輸入。- 1649457986是代表「2022 年 4 月 8 日星期五下午 3:46:26 GMT-07:00」的紀元時間。
檢查回應中的 nextPageToken 值,直到它為空為止。 如果它不是空的,則您需要從回應呼叫相同的 API
pageToken,並將參數值設定為 nextPageToken 。 例如,您可以使用 “Until”循環 來執行此操作。篩選出先前執行中已處理的訊息識別碼 (例如,您可以使用 Azure 資料表儲存體 連接器來儲存已處理的識別碼)
使用 「取得電子郵件詳細資料 」動作,依識別碼取得電子郵件內容
將 Gmail 連接器與消費者 Gmail 帳戶搭配使用
根據 Google 的安全性和隱私權原則,使用取用者 Gmail 帳戶 (結尾為且@gmail.com@googlemail.com)只能連線到 Power Automate 和 Logic Apps 內一組有限的服務。 使用 Google Workspace (舊稱 G Suite) 帳戶的客戶不會受到這項變更的影響。 如果您需要將 Gmail 聯結器與下列清單中未指定的服務搭配使用,則必須 向 Google 註冊您自己的應用程式 ID。 以下是目前已核准的服務清單,請注意,此清單未來可能會根據 Google 的政策進行變更:
- Google 服務:Gmail、Google 日曆、Google 通訊錄、Google 雲端硬碟、Google 試算表、Google Tasks
- 內建動作和觸發器:控制項、AI 產生器、資料作業、日期時間、數字函數、Power Virtual Agents、Power Apps、請求、排程、文字函數、變數、流程按鈕、位置
- 有限的 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 個單位。
連接器深入
有關連接器的更多資訊,請參閱 深入部分。
一般限制
| 名稱 | 價值觀 |
|---|---|
| 郵件大小上限(以 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 與其他使用者共用,系統會明確提示其他使用者建立新連線。
| 名稱 | 類型 | Description | 為必填項目 |
|---|---|---|---|
| 用戶端識別碼 | 字串 | Google 應用程式的用戶端 (或應用程式) ID | 對 |
| 用戶端密碼 | securestring | Google 應用程式的用戶端密碼 | 對 |
使用預設共用應用程式
驗證 ID:shared-application
適用:所有地區
使用標準 Google 應用程式登入。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
預設值 [已棄用]
適用:所有地區
此選項僅適用於沒有明確驗證類型的舊連線,並且僅用於回溯相容性。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
節流限制
| 名稱 | 呼叫 | 續約期間 |
|---|---|---|
| 每個連線的 API 呼叫 | 60 | 60 秒 |
| 每天的工作單位 | 90000 | 86400秒 |
動作
| 傳送電子郵件 [已棄用] |
此動作已被取代。 請改用傳送電子郵件 (V2)。
|
| 傳送電子郵件 (V2) |
此作業可用來傳送電子郵件給特定收件者。 |
| 刪除電子郵件 |
此操作用於永久刪除特定電子郵件。 |
| 取得電子郵件詳細資料 |
此作業會擷取特定電子郵件的詳細資料。 |
| 回覆電子郵件 [已棄用] |
此動作已被取代。 請改用回覆電子郵件 (V2)。
|
| 回覆電子郵件 (V2) |
此操作用於回覆特定電子郵件。 |
| 將電子郵件移至垃圾桶 |
此操作用於將特定電子郵件移至垃圾桶。 |
傳送電子郵件 [已棄用]
此動作已被取代。 請改用傳送電子郵件 (V2)。
此作業可用來傳送電子郵件給特定收件者。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
發往
|
To | True |
以分號或逗號分隔的有效電子郵件地址清單。 |
|
|
CC
|
Cc |
以分號或逗號分隔的有效電子郵件地址清單。 |
||
|
密件副本
|
Bcc |
以分號或逗號分隔的有效電子郵件地址清單。 |
||
|
主旨
|
Subject | string |
外寄電子郵件的主旨。 |
|
|
身體
|
Body | string |
外寄電子郵件的內文。 |
|
|
是 HTML
|
IsHtml | boolean |
True 以 HTML 格式傳送電子郵件。 (預設值:True) |
|
|
重要性
|
Importance | string |
與電子郵件相關聯的重要性。 |
|
|
名稱
|
Name | True | string |
附件的標題。 |
|
Content
|
ContentBytes | True | byte |
附件的主體。 |
|
內容-類型
|
ContentType | string |
附件中的內容類型。 |
傳送電子郵件 (V2)
此作業可用來傳送電子郵件給特定收件者。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
發往
|
To | True |
以分號或逗號分隔的有效電子郵件地址清單。 |
|
|
CC
|
Cc |
以分號或逗號分隔的有效電子郵件地址清單。 |
||
|
密件副本
|
Bcc |
以分號或逗號分隔的有效電子郵件地址清單。 |
||
|
主旨
|
Subject | string |
外寄電子郵件的主旨。 |
|
|
身體
|
Body | html |
外寄電子郵件的內文。 |
|
|
重要性
|
Importance | string |
與電子郵件相關聯的重要性。 |
|
|
名稱
|
Name | True | string |
附件的標題。 |
|
Content
|
ContentBytes | True | byte |
附件的主體。 |
|
內容-類型
|
ContentType | string |
附件中的內容類型。 |
刪除電子郵件
此操作用於永久刪除特定電子郵件。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
訊息 ID
|
id | True | string |
要刪除的電子郵件 ID。 |
取得電子郵件詳細資料
此作業會擷取特定電子郵件的詳細資料。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
訊息 ID
|
id | True | string |
電子郵件訊息的唯一識別碼。 |
|
包括附件
|
includeAttachments | boolean |
如果設定為 true,也會與電子郵件一起擷取附件。 |
傳回
與特定電子郵件訊息相關聯的詳細資料。
回覆電子郵件 [已棄用]
此動作已被取代。 請改用回覆電子郵件 (V2)。
此操作用於回覆特定電子郵件。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
訊息 ID
|
id | True | string |
要回覆的電子郵件 ID。 |
|
發往
|
To |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
CC
|
Cc |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
密件副本
|
Bcc |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
主旨
|
Subject | string |
電子郵件主旨(如果為空,則使用原始主旨)。 |
|
|
身體
|
Body | string |
電子郵件的內容。 |
|
|
全部回覆
|
ReplyAll | boolean |
True 以回覆所有收件者。 (預設值:False) |
|
|
是 HTML
|
IsHtml | boolean |
True 以 HTML 格式傳送回覆。 (預設值:True) |
|
|
重要性
|
Importance | string |
選擇一個重要性。 (預設值:正常) |
|
|
名稱
|
Name | True | string |
附件的標題。 |
|
Content
|
ContentBytes | True | byte |
附件的主體。 |
|
內容-類型
|
ContentType | string |
附件中的內容類型。 |
回覆電子郵件 (V2)
此操作用於回覆特定電子郵件。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
訊息 ID
|
id | True | string |
要回覆的電子郵件 ID。 |
|
發往
|
To |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
CC
|
Cc |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
密件副本
|
Bcc |
範例: recipient1@domain.com; recipient2@domain.com |
||
|
主旨
|
Subject | string |
電子郵件主旨(如果為空,則使用原始主旨)。 |
|
|
身體
|
Body | html |
電子郵件的內容。 |
|
|
全部回覆
|
ReplyAll | boolean |
True 以回覆所有收件者。 (預設值:False) |
|
|
重要性
|
Importance | string |
選擇一個重要性。 (預設值:正常) |
|
|
名稱
|
Name | True | string |
附件的標題。 |
|
Content
|
ContentBytes | True | byte |
附件的主體。 |
|
內容-類型
|
ContentType | string |
附件中的內容類型。 |
將電子郵件移至垃圾桶
此操作用於將特定電子郵件移至垃圾桶。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
訊息 ID
|
id | True | string |
要移至垃圾桶的電子郵件 ID。 |
觸發程序
| 當新電子郵件到達時 |
當符合指定條件的新電子郵件到達時,會觸發此操作。 |
當新電子郵件到達時
當符合指定條件的新電子郵件到達時,會觸發此操作。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
標籤
|
label | string |
挑選標籤 (預設值:收件匣)。 |
|
|
發往
|
to |
以分號或逗號分隔的有效電子郵件地址清單。 |
||
|
寄件者
|
from |
範例:Sender1 | sender2@domain.com。 |
||
|
主旨
|
subject | string |
在主題中尋找的字串。 |
|
|
重要性
|
importance | string |
如果電子郵件應該很重要,則為 True。 (預設值:全部)。 |
|
|
已加星標
|
starred | string |
如果電子郵件應該加星號,則為 True。 (預設值:全部)。 |
|
|
具有附件
|
fetchOnlyWithAttachments | boolean |
True 表示僅擷取帶有附件的電子郵件。 |
|
|
包括附件
|
includeAttachments | boolean |
True 可擷取附件以及電子郵件。 |
傳回
與特定電子郵件訊息相關聯的詳細資料。
定義
詳細接收訊息
與特定電子郵件訊息相關聯的詳細資料。
| 名稱 | 路徑 | 類型 | Description |
|---|---|---|---|
|
寄件者
|
From |
傳送郵件的電子郵件地址。 |
|
|
寄件人姓名
|
SenderName | string |
電子郵件寄件者姓名 |
|
發往
|
To |
郵件傳送至的電子郵件地址。 |
|
|
CC
|
Cc |
副本欄位中包含的電子郵件地址。 |
|
|
密件副本
|
Bcc |
密件副本欄位中包含的電子郵件地址。 |
|
|
主旨
|
Subject | string |
與電子郵件相關聯的主旨或主題。 |
|
身體
|
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 格式,則為 True。 |
|
具有附件
|
HasAttachments | boolean |
如果郵件有附件,則為 True。 |
|
Attachments
|
Attachments | array of Attachment |
電子郵件的附件清單。 |
|
訊息 ID
|
Id | string |
訊息的不可變識別碼。 |
|
執行緒識別碼
|
ThreadId | string |
訊息所屬執行緒的識別碼。 |
Attachment
電子郵件附件的屬性。
| 名稱 | 路徑 | 類型 | Description |
|---|---|---|---|
|
名稱
|
Name | string |
附件的標題。 |
|
Content
|
ContentBytes | byte |
附件的主體。 |
|
內容-類型
|
ContentType | string |
附件中的內容類型。 |