建立存取憑證

憑證用於從 Google 授權伺服器取得存取權杖,讓應用程式可以呼叫 Google Workspace API。本文說明如何選擇及設定應用程式所需的憑證。

選擇適合你的存取憑證

所需憑證取決於應用程式的資料類型、平台和存取方法。共有三種憑證:

用途 驗證方式 關於這項驗證方法
在應用程式中以匿名方式存取公開資料。 API 金鑰 使用這種驗證方法前,請先確認要使用的 API 是否支援 API 金鑰。
存取使用者資料,例如電子郵件地址或年齡。 OAuth 用戶端 ID 要求應用程式必須徵得使用者同意。
存取應用程式擁有的資料、特定共用文件 (例如 Google 試算表),或透過全網域委派代表使用者存取 Google Workspace 資源。 服務帳戶 應用程式以服務帳戶身分驗證時,可存取服務帳戶有權存取的所有資源。

如要瞭解本頁面使用的術語定義,請參閱「驗證和授權總覽」。

API 金鑰憑證

API 金鑰是長字串,其中包含大小寫英文字母、數字、底線和連字號,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe。這種驗證方法用於匿名存取公開資料,例如使用「網路上任何知道連結的人」共用設定分享的 Google Workspace 檔案。詳情請參閱「管理 API 金鑰」。

建立 API 金鑰的方法如下:

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「APIs & Services」(API 和服務) >「Credentials」(憑證)

    前往「憑證」

  2. 依序按一下「建立憑證」>「API 金鑰」
  3. 系統會顯示新的 API 金鑰。
    • 按一下「複製」圖示 ,即可複製 API 金鑰,在應用程式的程式碼中使用。您也可以在專案憑證的「API 金鑰」部分找到 API 金鑰。
    • 為避免有人未經授權使用,建議您限制這組 API 金鑰的適用位置與 API。詳情請參閱「新增 API 限制」一文。

OAuth 用戶端 ID 憑證

如要驗證使用者身分並存取應用程式中的使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。如果您的應用程式是在多個平台中運作,每個平台都會需要專屬的用戶端 ID。

請選擇應用程式類型,然後按照特定指示建立 OAuth 用戶端 ID:

網頁應用程式

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「Web application」(網頁應用程式)
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 新增與應用程式相關的授權 URI:
    • 用戶端應用程式 (JavaScript):在「已授權的 JavaScript 來源」下方,按一下「新增 URI」。接著,輸入要用於瀏覽器要求的 URI。這會識別應用程式可從哪些網域將 API 要求傳送至 OAuth 2.0 伺服器。
    • 伺服器端應用程式 (Java、Python 等):按一下「已授權的重新導向 URI」下方的「新增 URI」。然後輸入端點 URI,OAuth 2.0 伺服器可將回應傳送至該 URI。
  6. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 Client IDs」下方。

    請注意,用戶端密鑰不適用於網頁應用程式。

Android

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「Android」
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 在「套件名稱」欄位中,輸入 AndroidManifest.xml 檔案中的套件名稱。
  6. 在「SHA-1 憑證指紋」欄位中,輸入產生的 SHA-1 憑證指紋
  7. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。

iOS

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「iOS」
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 在「軟體包 ID」欄位中,輸入應用程式 Info.plist 檔案中列出的軟體包 ID。
  6. 選用:如果您的應用程式出現在 Apple App Store,請輸入 App Store ID。
  7. 選用:在「團隊 ID」欄位中,輸入 Apple 產生並指派給您團隊的專屬字串 (共 10 個字元)。
  8. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。

Chrome 擴充功能

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「Chrome Extension」(Chrome 擴充功能)
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 在「項目 ID」欄位中,輸入應用程式的專屬 32 字元 ID 字串。您可以在應用程式的 Chrome 線上應用程式商店網址和 Chrome 線上應用程式商店開發人員資訊主頁中找到這個 ID 值。
  6. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。

電腦版應用程式

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「Desktop app」(電腦版應用程式)
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 按一下 [Create] (建立)

    新建立的憑證會顯示在「OAuth 2.0 用戶端 ID」下方。

電視和受限制的輸入裝置

  1. 在 Google Cloud 控制台中,依序前往「Menu」(選單) >「Google Auth platform」(Google 驗證平台) >「Clients」(用戶端)

    前往「Clients」(客戶) 頁面

  2. 按一下「Create Client」(建立用戶端)
  3. 依序點選「Application type」(應用程式類型) >「TVs and Limited Input devices」(電視和輸入受限的裝置)
  4. 在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
  5. 按一下 [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

  1. 在 Google Cloud 控制台中,依序前往「選單」圖示 >「IAM 與管理」 >「服務帳戶」

    前往「Service Accounts」(服務帳戶) 頁面

    其餘步驟會顯示在 Google Cloud 控制台。

  2. 選取 Google Cloud 專案。
  3. 按一下「建立服務帳戶」
  4. 輸入要顯示在 Google Cloud 控制台中的服務帳戶名稱。
  5. 如果您現在不想設定存取權控管機制,請按一下「Done」(完成) 以完成服務帳戶建立程序。如要立即設定存取權控管,請按一下「Create and continue」(建立並繼續),然後繼續進行下一個步驟。
  6. 選用:將角色指派給服務帳戶,除了 Google Workspace 資源,也授予 Google Cloud 專案資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。
  7. 按一下「繼續」
  8. 選用:輸入可管理這個服務帳戶並執行動作的使用者或群組。詳情請參閱「服務帳戶模擬」。
  9. 按一下「Done」(完成),即完成建立服務帳戶。

    請記下服務帳戶的電子郵件地址。

gcloud CLI

  1. 建立服務帳戶:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 選用:將角色指派給服務帳戶,除了 Google Workspace 資源,也授予 Google Cloud 專案資源的存取權。詳情請參閱「管理專案、資料夾和機構的存取權」。

使用服務帳戶直接存取 Google Workspace 檔案

如果應用程式只需要讀取或寫入特定檔案 (例如 Google 試算表或 Google 雲端硬碟資料夾),您不需要指派管理員角色或設定網域範圍的委派。您可以改用標準 UI,直接與服務帳戶的電子郵件地址共用個別檔案。您可以在文件的共用設定中,將服務帳戶的電子郵件地址視為使用者帳戶,不必具備管理員權限。

如何授予存取權:

  1. 複製服務帳戶的電子郵件地址。例如 my-service-account@my-project.iam.gserviceaccount.com
  2. 開啟要存取的 Google 試算表文件或雲端硬碟資料夾。
  3. 按一下 [共用]
  4. 新增服務帳戶的電子郵件地址,並指派適當的存取層級 (例如編輯者或檢視者)。
  5. 取消選取「通知使用者」 (由於服務帳戶沒有收件匣,因此不會收到邀請電子郵件,但權限仍會授予)。
  6. 按一下 [共用]

建立服務帳戶金鑰

您需要取得公開/私密金鑰組形式的憑證。程式碼會使用這些憑證,授權應用程式中的服務帳戶動作。

如要建立服務帳戶金鑰,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,依序前往「選單」圖示 >「IAM 與管理」 >「服務帳戶」

    前往「Service Accounts」(服務帳戶) 頁面

    其餘步驟會顯示在 Google Cloud 控制台。

  2. 選取 Google Cloud 專案。
  3. 點選所需的服務帳戶電子郵件地址,以便為其建立金鑰。
  4. 按一下「Keys」(金鑰) 分頁標籤。
  5. 按一下「Add key」(新增金鑰) 下拉式選單,然後選取「Create new key」(建立新的金鑰)
  6. 選取「JSON」做為金鑰類型,然後按一下「建立」

    接著,系統就會為您產生一對新的公開/私密金鑰,並以服務帳戶金鑰檔案的形式下載至您的電腦中。將下載的 JSON 檔案儲存至工作目錄,並命名為 credentials.json。這個檔案是這組金鑰的唯一副本,金鑰檔案下載後,就不能再次下載。如要瞭解如何安全儲存金鑰,請參閱「管理服務帳戶金鑰的最佳做法」一文。

將 Google Workspace 管理員角色指派給服務帳戶

您可以將任何預先建立的 Google Workspace 角色或自訂角色指派給服務帳戶,但超級管理員角色除外。

  1. 在 Google 管理控制台中,依序點選「選單」>「帳戶」>「管理員角色」

    前往「管理員角色」

    必須以超級管理員身分登入,才能執行這項工作。

    其餘步驟會顯示在 Google 管理控制台。

  2. 將滑鼠游標移至要指派的角色,按一下 Actions 下拉式選單,然後選取「指派管理員」

  3. 按一下「指派服務帳戶」

  4. 輸入服務帳戶的電子郵件地址。

  5. 依序點選「新增」「指派角色」

選用:為服務帳戶設定全網域委派

如果應用程式需要代表貴機構中的多位使用者存取 Google Workspace 資料 (例如使用 Gmail API 傳送電子郵件),且不想一一取得使用者同意,請使用全網域委派功能。 如要代表 Google Workspace 機構中的使用者呼叫 API,請使用超級管理員帳戶,在 Google 管理控制台中授予服務帳戶網域範圍的授權委派。詳情請參閱「將網域層級的權限委派給服務帳戶」。

如要為服務帳戶設定全網域授權委派:

  1. 在 Google Cloud 控制台中,依序前往「選單」圖示 >「IAM 與管理」 >「服務帳戶」

    前往「Service Accounts」(服務帳戶) 頁面

  2. 選取 Google Cloud 專案。
  3. 點選要設定全網域委派的服務帳戶電子郵件地址。
  4. 按一下 [顯示進階設定]
  5. 在「全網域委派」下方,找出服務帳戶的「用戶端 ID」。
  6. 按一下「複製」圖示 ,將用戶端 ID 值複製到剪貼簿。
  7. 如果您有相關 Google Workspace 帳戶的超級管理員存取權,請按一下「查看 Google Workspace 管理控制台」,使用超級管理員使用者帳戶登入,然後繼續按照這些步驟操作。

    如果沒有相關 Google Workspace 帳戶的超級管理員存取權,請與該帳戶的超級管理員聯絡。將服務帳戶的用戶端 ID 和應用程式所需的 OAuth 範圍清單傳送給他們,讓他們在 Google 管理控制台中完成下列步驟。

    1. 在 Google 管理控制台中,依序點選「選單」圖示 >「安全性」 >「存取權與資料控管」 >「API 控制項」

      前往「API 控制項」頁面

    2. 按一下「管理全網域委派設定」
    3. 點選「新增」
    4. 在「用戶端 ID」欄位中,貼上先前複製的用戶端 ID。
    5. 在「OAuth Scopes」(OAuth 範圍) 欄位中,輸入應用程式所需的範圍清單 (以半形逗號分隔)。這組範圍與您設定 OAuth 同意畫面時定義的範圍相同。
    6. 按一下「授權」

      變更最晚會在 24 小時生效,但通常較快。詳情請參閱「使用全網域委派功能控管 API 存取權」。

下一步

您已準備好在 Google Workspace 上開發應用程式!請參閱 Google Workspace 開發人員產品清單,以及如何尋求協助