Ragic 最近新增支援了 Make(原 Integromat) 的串接,但不知道你在使用 Google 服務(例如 Gmail 或 Google Drive)的時候,會不會跳出這樣的錯誤:
看到這個錯誤千萬別慌張,Make 官方其實有為這個情況提供了一份設定文件,而我們也將其翻譯成了中文版,只要順著這篇文章的步驟照著做,就能夠讓 Make 取得授權,正確連接、存取你 Google 帳號內的資料,而且只要設定一次,未來在 Make 再碰到 Google 帳號也不用擔心,不需要每一次都重新設定了!
你可以在資訊主頁的右上角找到「建立專案」:
接下來,你可以為專案命名,位置則可以直接保留為「無機構」:
專案建立完成之後,你需要從左上角的漢堡選單找到「API 和服務」,並點選「啟用 API 和服務」:
進入 API 程式庫後,你可以依照需求搜尋自己需要的 API,舉例來說,因為我們要在 Make 使用 Gmail 的相關功能,所以我們要搜尋 Gmail API 然後將其啟用:
如果你預期之後還會使用到其他服務,例如未來也有串接 Google Drive 的打算,也可以趁這時一併將 Google Drive API 一起啟用:
確定需要的 API 啟用之後,就可以開始建立與設定 OAuth 的同意畫面「OAuth 同意畫面」就是當你想用 Google 帳號登入第三方網站(例如 Make)時會跳出的視窗,這個視窗會告知你應用程式將取得你的哪些權限,你可以在閱覽之後決定是否允許第三方網站存取你的帳號資料。。
由於私人的 Google 帳號不隸屬於任何機構,而且我們是需要在 Make 使用,因此在 User Type 當中選擇「外部」並點擊建立:
接下來,你會需要設定 OAuth 同意畫面中的資訊,因為我們的目的只是讓 Make 可以利用 OAuth 取得授權,因此請對照以下的表格,填入必填欄位的資訊:
應用程式名稱 |
Make |
使用者支援電子郵件 |
你的電子郵件信箱 |
授權網域 |
integromat.com 和 make.com |
開發人員聯絡資訊 |
你的電子郵件信箱 |
輸入完畢之後,就可以點擊「儲存並繼續」。
接下來,我們要設定應用程式可以存取的資料「範圍」,範圍指的是應用程式可以存取的權限,舉例來說,藉由設定適當的範圍,你可以讓 Make 只能讀取郵件,但是不能撰寫郵件與草稿,又或者是讓 Make 最多只能撰寫草稿,但無法送出郵件。
以下是 Make 提供串接 Gmail 和 Google Drive 時必須勾選的範圍,你可以根據需求決定是否勾選更多範圍:
.Gmail:
https://mail.google.com
https://www.googleapis.com/auth/gmail.labels
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/gmail.insert
https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.metadata
.Google Drive:
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.readonly
你可以點擊「新增或移除範圍」,再透過篩選器來找到自己需要的 API 並進行勾選:
如果你有串接其他 Google 服務的需要,別忘了在這裡也要一併勾選:
勾選並更新範圍之後,就可以再點擊儲存並繼續了。
為了測試 API 是否能正常運作,Google 會請你新增測試使用者,因為只有我們的帳號會存取這些資料,因此只要填入自己的 Google 帳號即可:
按下儲存並繼續後,Google Cloud 就會列出這個 OAuth 同意畫面的摘要:
接下來就可以開始建立「憑證」,供 Make 使用了。
為了讓 Make 可以正確告知使用者要存取的權限、並讓使用者決定是否同意存取資料,我們需要建立「OAuth 用戶端 ID」,這樣一來,使用者再彈出的視窗中按下允許、繼續時,Google 才會提供 Gmail 或 Google Drive 內的資料給 Make 使用:
開始建立 OAuth 用戶端 ID 時,你需要先將應用程式類型選擇為「網頁應用程式」,並在「已授權的重新導向 URI」中,根據你要使用的服務輸入 Make 提供的網址:
Gmail 或 Google Drive:https://www.integromat.com/oauth/cb/google-restricted
Google 語音合成服務:https://www.integromat.com/oauth/cb/google-custom
YouTube:https://www.integromat.com/oauth/cb/youtube
Google Speech:https://www.integromat.com/oauth/cb/google-cloud-speech
其他 Google 服務:https://www.integromat.com/oauth/cb/google
以 Make 開發平台製作的程式:https://www.integromat.com/oauth/cb/app
由於我們只有預計使用到 Gmail 和 Google Drive,因此只需要輸入第一個網址:https://www.integromat.com/oauth/cb/google-restricted 即可。輸入完並建立之後,Google 就會跳出一個帶有「用戶端編號」和「用戶端密鑰」的視窗,代表憑證已經正確建立了:
回到 Make 並點選最一開始跳出錯誤的 Gmail 模組後,你需要先打開「Show advanced settings」以展開完整的設定視窗,接下來,你就可以看到「Client ID」和「Client Secret」了,分別填上剛剛的用戶端編號(Client ID)與密鑰(Client Secret)後,就可以再次點擊「Sign in with Google」登入:
登入時,Google 可能會提示「這個應用程式未經 Google 驗證」,你可以直接點擊繼續:
接下來,Google 會向你告知 Integromat.com(Make.com 的前身)會取得哪些權限,閱覽後確定沒問題就可以再按下繼續:
登入視窗關閉之後,就可以看到 Make 已經正確連上你的私人 Google 帳號了!我們將腳本的運行規則填一填,就可以點擊左下角的 Run once 測試看看:
新建一筆資料後,可以看到 Make 正確抓取到資料的內容,也正確觸發到 Gmail 的模組了:
而我們到信箱查看,也可以看到這筆信件確實是來自 @gmail.com 的信箱,說明串接設定沒有問題!