本文說明如何使用 OAuth 2.0 用戶端憑證,設定驗證機制以存取 Google Workspace API。OAuth 2.0 用戶端憑證可讓您在使用者端擷取權杖,例如存取 Google 試算表所需的權杖。無論 SAP 系統託管在何處,只要系統支援 OAuth 2.0,您就可以使用 OAuth 2.0 用戶端憑證驗證 Google Workspace API。
如要使用 OAuth 2.0 用戶端憑證驗證 Google Workspace API,您必須在Google Cloud 專案和 SAP 環境中完成下列設定:
Google Cloud 主控台設定
SAP 環境設定
Google Cloud 適用的 ABAP SDK 會隨附下列核心元件,這些元件是 OAuth 2.0 用戶端憑證驗證機制所需的:
- 您為 OAuth 2.0 用戶端設定檔設定指定的 OAuth 2.0 服務供應商類型
/GOOG/ABAP_SDK
。 - 您為用戶端金鑰設定指定的驗證類別
/GOOG/CL_OAUTH_GOOGLE
。 - SAP Business Add-Ins (BAdIs) 實作項目,可預先填入 Google 專屬 OAuth 參數,例如端點和必要參數設定。
不過,您也必須在 SAP 環境中完成下列設定:
建立 OAuth 2.0 同意聲明
OAuth 同意畫面是一種提示,可告知使用者是誰要求存取其資料,以及使用者允許應用程式存取哪些資料。
在 Google Cloud 控制台中,依序前往「選單」>「API 和服務」>「OAuth 同意畫面」。
為應用程式選取「External」使用者類型,然後按一下「Create」。
如要填寫應用程式註冊表單,請指定下列詳細資料:
- 應用程式名稱:需要同意的應用程式名稱。
- 使用者支援電子郵件:使用者可透過這封電子郵件,針對同意聲明相關問題與您聯絡。
- 授權網域:在 OAuth 同意期間使用的網域。
- 開發人員聯絡資訊:Google 會透過這些電子郵件地址,在專案有任何異動時通知您。
點選「儲存並繼續」。
建立 OAuth 2.0 用戶端 ID 憑證
如要以使用者身分驗證,並存取應用程式中的使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。
在 Google Cloud 控制台中,依序點選「選單」圖示 >「API 和服務」 >「憑證」。
依序點選「建立憑證」>「OAuth 用戶端 ID」。
在「應用程式類型」欄位中,選取「網頁應用程式」。
在「Name」欄位中輸入憑證名稱。這個名稱只會顯示在 Google Cloud 主控台。
按一下「已授權的重新導向 URI」下方的「新增 URI」。接著,輸入 OAuth 2.0 伺服器可傳送回應的 SAP 重新導向 URI。
您可以從
SICF
交易中的 OAuth 2.0 設定取得 SAP 重新導向 URI。按一下 [建立]。
記下「Client ID」和「Client Secret」。
建立 OAuth 2.0 用戶端設定檔
身為 ABAP 開發人員,您可以使用業務需求所需的 OAuth 2.0 範圍,建立 OAuth 用戶端設定檔。如要瞭解 Google API 適用的 OAuth 2.0 範圍,請參閱「Google API 適用的 OAuth 2.0 範圍」。
SDK 包含名為 /GOOG/OAUTH_PROFILE_SAMPLE
的 OAuth 用戶端設定檔範例。這個設定檔提供 OAuth 2.0 範圍,可用於常用的 Google Workspace API,例如雲端硬碟和試算表。
- 在 SAP GUI 中輸入交易代碼
SE80
。 - 在下拉式清單中選取「Development Object」。
- 如要在自訂命名空間中建立開發物件,請在物件名稱的內容功能表中,依序選取「建立」>「其他」>「OAuth 2.0 用戶端設定檔」。
輸入下列詳細資訊:
- 在「Client Profile」欄位中,輸入用戶端設定檔的名稱。
- 在「Type」欄位中,選取
/GOOG/ABAP_SDK
。這是 ABAP SDK for Google Cloud 隨附的預設供應器類型。
在用戶端設定檔中新增必要的範圍。如要瞭解 OAuth 2.0 範圍,請參閱「Google API 適用的 OAuth 2.0 範圍」。
將用戶端設定檔儲存至開發套件。在傳輸要求中加入用戶端設定檔,以便傳輸至較高層級的環境。
設定 OAuth 2.0 用戶端
身為 SAP 管理員,您可以將 OAuth 用戶端設定檔與 Google Cloud 用戶端憑證建立關聯。
這是一次性活動,您需要在 SAP 環境中的每個 SAP 系統 (開發、測試和實際運作) 上執行此活動。
- 在 SAP GUI 中輸入交易代碼
OA2C_CONFIG
。SAP 登入頁面會在預設瀏覽器中開啟。 - 使用 SAP 憑證登入。
- 如要建立 OAuth 2.0 用戶端,請按一下「Create」。
- 在「Create a new OAuth 2.0 client」對話方塊中:
- 選取先前在「在 SAP 系統中建立 OAuth 2.0 用戶端設定檔」一文中建立的 OAuth 2.0 用戶端設定檔。
- 輸入設定名稱。
- 輸入您先前在「建立 OAuth 2.0 用戶端 ID 憑證」一文中建立的 Google Cloud 憑證中的 OAuth 2.0 用戶端 ID。
- 按一下 [確定]。
- 在「Administration」分頁的「General Setting」部分,輸入您先前在「Create OAuth 2.0 client ID credentials」中建立的 Google Cloud 憑證中的用戶端密碼。
如果您使用 Proxy 伺服器來路由 SAP 系統的傳出 HTTP/HTTPS 流量,則需要在「Access Settings」部分維護下列 Proxy 主機詳細資料:
- Proxy 主機
- Proxy 通訊埠
- Proxy 使用者
- Proxy 密碼
按一下 [儲存]。
設定用戶端金鑰
-
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。 - 依序點選「ABAP SDK for Google Cloud」>「基本設定」>「設定用戶端金鑰」。
- 按一下「新增項目」。
在下列欄位中輸入值:
欄位 說明 Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。 Google Cloud 服務帳戶名稱 請將這個欄位留空。 Google Cloud 範圍 請將這個欄位留空。 Google Cloud 專案 ID 指定含有目標 API 的 Google Cloud 專案 ID。 指令名稱 請將這個欄位留空。 授權類別 指定驗證類別 /GOOG/CL_OAUTH_GOOGLE
。權杖快取 請將這個欄位留空。 權杖重新整理秒數 請將這個欄位留空。 授權參數 1 指定您先前在「在 SAP 系統中建立 OAuth 2.0 用戶端設定檔」一文中建立的 OAuth 用戶端設定檔名稱。 授權參數 2 指定您在 OAuth 2.0 用戶端中為用戶端 ID 定義的設定名稱。
如果您將單一 OAuth 用戶端設定檔與多個用戶端 ID 建立關聯,則必須填入這個欄位。
詳情請參閱「多個 Google Cloud 專案情境」。
儲存新項目。
要求 OAuth 2.0 存取權杖
身為使用者,您必須要求 OAuth 2.0 存取權杖,才能存取 API 資源。
這是一次性活動,每位使用者都必須在 SAP 環境中的每個 SAP 系統 (開發、測試和實際運作) 上執行這項活動。如果 OAuth 範圍有所修改,使用者就必須重複這項操作。
- 在 SAP GUI 中輸入交易代碼
OA2C_GRANT
。SAP 登入頁面會在預設瀏覽器中開啟。 - 使用 SAP 憑證登入。
- 選取要用來存取 API 的用戶端 ID。
- 按一下「Request OAuth 2.0 Tokens」。
在「使用 Google 帳戶登入」同意畫面中,輸入 Google 帳戶憑證,然後按一下「允許」。
「存取狀態」欄中的綠色指標表示系統根據 OAuth 2.0 用戶端設定檔允許存取 API 資源。
多個 Google Cloud 專案情境
如果您已在多個Google Cloud 專案中啟用 Google Cloud API,請按照以下指南設定 OAuth 2.0 用戶端憑證:
- 在所有 Google Cloud 專案中:
- 在 SAP 系統中:
- 建立 OAuth 2.0 用戶端設定檔。
- 為每個用戶端 ID 設定 OAuth 2.0 用戶端。
- 如果您需要將單一 OAuth 用戶端設定檔與多個用戶端 ID 建立關聯,請按照下列其他操作說明操作:
- 為每個用戶端 ID 設定 OAuth 2.0 用戶端。設定 OAuth 2.0 用戶端時,請在「Create a new OAuth 2.0 client」對話方塊中,為每個用戶端 ID 指定不重複的設定名稱。詳情請參閱「設定 OAuth 2.0 用戶端」。
- 為每個 OAuth 2.0 用戶端設定專屬的用戶端金鑰,並在授權參數 2 中提供專屬的設定名稱。詳情請參閱「設定用戶端金鑰」。
驗證驗證設定
如要驗證驗證設定,請執行下列步驟:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「驗證驗證設定」。
輸入用戶端金鑰名稱。
按一下「執行」,檢查是否已成功設定整體流程。
如果「結果」欄顯示綠色勾號,表示已順利完成所有設定步驟。
取得支援
如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作:
在 Cloud 論壇上向社群提問,並討論 ABAP 適用的 Google Cloud SDK。
收集所有可用的診斷資訊,並與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP 支援 Google Cloud」一文。