憑證用於從 Google 授權伺服器取得存取權杖,讓應用程式可以呼叫 Google Workspace API。本文說明如何選擇及設定應用程式所需的憑證。
選擇適合你的存取憑證
所需憑證取決於應用程式的資料類型、平台和存取方法。共有三種憑證:
| 用途 | 驗證方式 | 關於這項驗證方法 |
|---|---|---|
| 在應用程式中以匿名方式存取公開資料。 | API 金鑰 | 使用這種驗證方法前,請先確認要使用的 API 是否支援 API 金鑰。 |
| 存取使用者資料,例如電子郵件地址或年齡。 | OAuth 用戶端 ID | 要求應用程式必須徵得使用者同意。 |
| 存取應用程式擁有的資料、特定共用文件 (例如 Google 試算表),或透過全網域委派代表使用者存取 Google Workspace 資源。 | 服務帳戶 | 應用程式以服務帳戶身分驗證時,可存取服務帳戶有權存取的所有資源。 |
如要瞭解本頁面使用的術語定義,請參閱「驗證和授權總覽」。
API 金鑰憑證
API 金鑰是長字串,其中包含大小寫英文字母、數字、底線和連字號,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe。這種驗證方法用於匿名存取公開資料,例如使用「網路上任何知道連結的人」共用設定分享的 Google Workspace 檔案。詳情請參閱「管理 API 金鑰」。
建立 API 金鑰的方法如下:
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「APIs & Services」(API 和服務) >「Credentials」(憑證)。
- 依序按一下「建立憑證」>「API 金鑰」。
- 系統會顯示新的 API 金鑰。
- 按一下「複製」圖示 ,即可複製 API 金鑰,在應用程式的程式碼中使用。您也可以在專案憑證的「API 金鑰」部分找到 API 金鑰。
- 為避免有人未經授權使用,建議您限制這組 API 金鑰的適用位置與 API。詳情請參閱「新增 API 限制」一文。
OAuth 用戶端 ID 憑證
如要驗證使用者身分並存取應用程式中的使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。如果您的應用程式是在多個平台中運作,每個平台都會需要專屬的用戶端 ID。請選擇應用程式類型,然後按照特定指示建立 OAuth 用戶端 ID:
網頁應用程式
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「Web application」(網頁應用程式)。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 新增與應用程式相關的授權 URI:
- 用戶端應用程式 (JavaScript):在「已授權的 JavaScript 來源」下方,按一下「新增 URI」。接著,輸入要用於瀏覽器要求的 URI。這會識別應用程式可從哪些網域將 API 要求傳送至 OAuth 2.0 伺服器。
- 伺服器端應用程式 (Java、Python 等):按一下「已授權的重新導向 URI」下方的「新增 URI」。然後輸入端點 URI,OAuth 2.0 伺服器可將回應傳送至該 URI。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 Client IDs」下方。
請注意,用戶端密鑰不適用於網頁應用程式。
Android
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「Android」。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 在「套件名稱」欄位中,輸入
AndroidManifest.xml檔案中的套件名稱。 - 在「SHA-1 憑證指紋」欄位中,輸入產生的 SHA-1 憑證指紋。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
iOS
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「iOS」。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 在「軟體包 ID」欄位中,輸入應用程式
Info.plist檔案中列出的軟體包 ID。 - 選用:如果您的應用程式出現在 Apple App Store,請輸入 App Store ID。
- 選用:在「團隊 ID」欄位中,輸入 Apple 產生並指派給您團隊的專屬字串 (共 10 個字元)。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
Chrome 擴充功能
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「Chrome Extension」(Chrome 擴充功能)。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 在「項目 ID」欄位中,輸入應用程式的專屬 32 字元 ID 字串。您可以在應用程式的 Chrome 線上應用程式商店網址和 Chrome 線上應用程式商店開發人員資訊主頁中找到這個 ID 值。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
電腦版應用程式
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「Desktop app」(電腦版應用程式)。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
電視和受限制的輸入裝置
- 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)。
- 按一下「Create Client」(建立用戶端)。
- 依序點選「Application type」(應用程式類型) >「TVs and Limited Input devices」(電視和輸入受限的裝置)。
- 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
- 按一下 [Create] (建立)。
新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。
服務帳戶憑證
服務帳戶是由應用程式使用,而非由真人使用。您可以使用服務帳戶存取資料或執行機器人帳戶的動作,也可以代表 Google Workspace 或 Cloud Identity 使用者存取資料。詳情請參閱服務帳戶總覽。請注意,在 Google Cloud 控制台中設定的 Identity and Access Management (IAM) 角色不會授予 Google Workspace 資產 (例如 Google 試算表或 Gmail) 的存取權。如要授予服務帳戶 Google Workspace 資源的存取權,請使用下列項目:
| 如果您的應用程式需要... | 設定位置... |
|---|---|
| 存取特定檔案 (例如 Google 試算表) | 直接與服務帳戶的電子郵件地址共用檔案或資料夾 |
| 執行網域管理作業 (例如建立 Google Workspace 使用者) | 直接將管理員角色指派給服務帳戶 |
| 存取網域中的使用者資料 (例如讀取任何使用者的 Gmail 或 Google 日曆活動) | 授權服務帳戶使用全網域委派功能 |
建立服務帳戶
您可以使用 Google Cloud 控制台或 gcloud 指令列工具建立服務帳戶。
Google Cloud Console
-
在 Google Cloud 控制台中,依序前往「選單」圖示
>「IAM 與管理」
>「服務帳戶」。
其餘步驟會顯示在 Google Cloud 控制台。
- 選取 Google Cloud 專案。
- 按一下「建立服務帳戶」。
- 輸入要顯示在 Google Cloud 控制台中的服務帳戶名稱。
- 如果您現在不想設定存取權控管機制,請按一下「Done」(完成) 以完成服務帳戶建立程序。如要立即設定存取權控管,請按一下「Create and continue」(建立並繼續),然後繼續進行下一個步驟。
- 選用:將角色指派給服務帳戶,除了 Google Workspace 資源,也授予 Google Cloud 專案資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。
- 按一下「繼續」。
- 選用:輸入可管理這個服務帳戶並執行動作的使用者或群組。詳情請參閱「服務帳戶模擬」。
- 按一下「Done」(完成),即完成建立服務帳戶。
請記下服務帳戶的電子郵件地址。
gcloud CLI
- 建立服務帳戶:
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - 選用:將角色指派給服務帳戶,除了 Google Workspace 資源,也授予 Google Cloud 專案資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。
使用服務帳戶直接存取 Google Workspace 檔案
如果應用程式只需要讀取或寫入特定檔案 (例如 Google 試算表或 Google 雲端硬碟資料夾),您不需要指派管理員角色或設定網域範圍的委派。您可以改用標準 UI,直接與服務帳戶的電子郵件地址共用個別檔案。您可以在文件的共用設定中,將服務帳戶的電子郵件地址視為使用者帳戶,不必具備管理員權限。
如何授予存取權:
- 複製服務帳戶的電子郵件地址。例如
my-service-account@my-project.iam.gserviceaccount.com。 - 開啟要存取的 Google 試算表文件或雲端硬碟資料夾。
- 按一下 [共用]。
- 新增服務帳戶的電子郵件地址,並指派適當的存取層級 (例如編輯者或檢視者)。
- 取消選取「通知使用者」 (由於服務帳戶沒有收件匣,因此不會收到邀請電子郵件,但權限仍會授予)。
- 按一下 [共用]。
建立服務帳戶金鑰
您需要取得公開/私密金鑰組形式的憑證。程式碼會使用這些憑證,授權應用程式中的服務帳戶動作。如要建立服務帳戶金鑰,請按照下列步驟操作:
-
在 Google Cloud 控制台中,依序前往「選單」圖示
>「IAM 與管理」
>「服務帳戶」。
其餘步驟會顯示在 Google Cloud 控制台。
- 選取 Google Cloud 專案。
- 點選所需的服務帳戶電子郵件地址,以便為其建立金鑰。
- 按一下「Keys」(金鑰) 分頁標籤。
- 按一下「Add key」(新增金鑰) 下拉式選單,然後選取「Create new key」(建立新的金鑰)。
- 選取「JSON」做為金鑰類型,然後按一下「建立」。
接著,系統就會為您產生一對新的公開/私密金鑰,並以服務帳戶金鑰檔案的形式下載至您的電腦中。將下載的 JSON 檔案儲存至工作目錄,並命名為
credentials.json。這個檔案是這組金鑰的唯一副本,金鑰檔案下載後,就不能再次下載。如要瞭解如何安全儲存金鑰,請參閱「管理服務帳戶金鑰的最佳做法」一文。
將 Google Workspace 管理員角色指派給服務帳戶
您可以將任何預先建立的 Google Workspace 角色或自訂角色指派給服務帳戶,但超級管理員角色除外。
在 Google 管理控制台中,依序點選「選單」>「帳戶」>「管理員角色」。
必須以超級管理員身分登入,才能執行這項工作。
其餘步驟會顯示在 Google 管理控制台。
將滑鼠游標移至要指派的角色,按一下
Actions下拉式選單,然後選取「指派管理員」。按一下「指派服務帳戶」。
輸入服務帳戶的電子郵件地址。
依序點選「新增」「指派角色」。
選用:為服務帳戶設定全網域委派
如果應用程式需要代表貴機構中的多位使用者存取 Google Workspace 資料 (例如使用 Gmail API 傳送電子郵件),且不想一一取得使用者同意,請使用全網域委派功能。 如要代表 Google Workspace 機構中的使用者呼叫 API,請使用超級管理員帳戶,在 Google 管理控制台中授予服務帳戶網域範圍的授權委派。詳情請參閱「將網域層級的權限委派給服務帳戶」。如要為服務帳戶設定全網域授權委派:
- 在 Google Cloud 控制台中,依序前往「選單」圖示 >「IAM 與管理」 >「服務帳戶」。
- 選取 Google Cloud 專案。
- 點選要設定全網域委派的服務帳戶電子郵件地址。
- 按一下 [顯示進階設定]。
- 在「全網域委派」下方,找出服務帳戶的「用戶端 ID」。
- 按一下「複製」圖示 ,將用戶端 ID 值複製到剪貼簿。
如果您有相關 Google Workspace 帳戶的超級管理員存取權,請按一下「查看 Google Workspace 管理控制台」,使用超級管理員使用者帳戶登入,然後繼續按照這些步驟操作。
如果沒有相關 Google Workspace 帳戶的超級管理員存取權,請與該帳戶的超級管理員聯絡。將服務帳戶的用戶端 ID 和應用程式所需的 OAuth 範圍清單傳送給他們,讓他們在 Google 管理控制台中完成下列步驟。
- 在 Google 管理控制台中,依序點選「選單」圖示 >「安全性」 >「存取權與資料控管」 >「API 控制項」。
- 按一下「管理全網域委派設定」。
- 點選「新增」。
- 在「用戶端 ID」欄位中,貼上先前複製的用戶端 ID。
- 在「OAuth Scopes」(OAuth 範圍) 欄位中,輸入應用程式所需的範圍清單 (以半形逗號分隔)。這組範圍與您設定 OAuth 同意畫面時定義的範圍相同。
- 按一下「授權」。
變更最晚會在 24 小時生效,但通常較快。詳情請參閱「使用全網域委派功能控管 API 存取權」。
下一步
您已準備好在 Google Workspace 上開發應用程式!請參閱 Google Workspace 開發人員產品清單,以及如何尋求協助。