本文說明如何使用 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 環境設定
ABAP SDK for Google Cloud 隨附下列核心元件,這些元件是 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 同意畫面」。
為應用程式選取「外部」使用者類型,然後按一下「建立」。
如要填寫應用程式註冊表單,請指定下列詳細資料:
- 應用程式名稱:需要同意的應用程式名稱。
- 使用者支援電子郵件:使用者可透過這個電子郵件地址與您聯絡,洽詢同意聲明相關事宜。
- 授權網域:在 OAuth 同意期間使用的網域。
- 開發人員聯絡資訊:Google 會透過這些電子郵件地址,在專案有任何異動時通知您。
點選「儲存並繼續」。
建立 OAuth 2.0 用戶端 ID 憑證
如要以使用者身分驗證,並存取應用程式中的使用者資料,您需要建立一或多個 OAuth 2.0 用戶端 ID。Google 的 OAuth 伺服器會使用用戶端 ID 來識別個別應用程式。
在 Google Cloud 控制台中,依序點選「選單」圖示 >「API 和服務」>「憑證」。
依序點選「建立憑證」>「OAuth 用戶端 ID」。
在「應用程式類型」欄位中,選取「網頁應用程式」。
在「Name」(名稱) 欄位中,輸入憑證名稱。這個名稱只會顯示在 Google Cloud 控制台中。
按一下「Authorized redirect URIs」(已授權的重新導向 URI) 下方的「Add URI」(新增 URI)。然後輸入 SAP 重新導向 URI,OAuth 2.0 伺服器可將回應傳送至該 URI。
您可以從
SICF
交易中的 OAuth 2.0 設定取得 SAP 重新導向 URI。點選「建立」。
記下「Client ID」(用戶端 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 用戶端設定檔範例。
這個設定檔提供為常用 Google Workspace API (例如雲端硬碟和試算表) 設定的 OAuth 2.0 範圍。
- 在 SAP GUI 中,輸入交易代碼
SE80
。 - 從下拉式清單中選取「開發物件」。
- 如要在自訂命名空間中建立開發物件,請在物件名稱的內容選單中,依序選取「建立」>「其他」>「OAuth 2.0 用戶端設定檔」。
輸入下列詳細資訊:
- 在「用戶端設定檔」欄位中,輸入用戶端設定檔的名稱。
- 在「類型」欄位中,選取「
/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 用戶端,請按一下「建立」。
- 在「建立新的 OAuth 2.0 用戶端」對話方塊中:
- 選取您先前在「在 SAP 系統中建立 OAuth 2.0 用戶端設定檔」中建立的 OAuth 2.0 用戶端設定檔。
- 輸入設定名稱。
- 輸入您先前在「建立 OAuth 2.0 用戶端 ID 憑證」中建立的 Google Cloud 憑證中的 OAuth 2.0 用戶端 ID。
- 按一下 [確定]。
- 在「Administration」(管理) 分頁的「General Setting」(一般設定) 專區,輸入您在 Google Cloud 「建立 OAuth 2.0 用戶端 ID 憑證」中建立的憑證中的用戶端密碼。
如果您使用 Proxy 伺服器,從 SAP 系統路由傳出 HTTP/HTTPS 流量,則需要在「存取設定」部分維護下列 Proxy 主機詳細資料:
- Proxy 主機
- Proxy 通訊埠
- Proxy 使用者
- Proxy 密碼
按一下 [儲存]。
設定用戶端金鑰
-
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。 - 依序點選「ABAP SDK for Google Cloud」「Basic Settings」「Configure Client Key」。
- 按一下「New Entries」。
在下列欄位中輸入值:
欄位 說明 Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。 Google Cloud 服務帳戶名稱 請將這個欄位留空。 Google Cloud 範圍 請將這個欄位留空。 Google Cloud 專案 ID 指定包含目標 API 的 Google Cloud 專案 ID。 指令名稱 請將這個欄位留空。 授權類別 指定驗證類別 /GOOG/CL_OAUTH_GOOGLE
。權杖快取 請將這個欄位留空。 權杖更新秒數 請將這個欄位留空。 授權參數 1 在「在 SAP 系統中建立 OAuth 2.0 用戶端設定檔」中,指定您先前建立的 OAuth 用戶端設定檔名稱。 授權參數 2 為用戶端 ID 指定您在 OAuth 2.0 用戶端中定義的設定名稱。
如果您已將單一 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」(要求 OAuth 2.0 權杖)。
在「使用 Google 帳戶登入」同意畫面中,輸入 Google 帳戶憑證,然後按一下「允許」。
「存取狀態」欄中的綠色指標表示,根據 OAuth 2.0 用戶端設定檔,系統允許存取 API 資源。
多個 Google Cloud 專案情境
如果您已在多個Google Cloud 專案中啟用 API,請按照下列指引,使用 OAuth 2.0 用戶端憑證設定驗證: Google Cloud
- 在所有 Google Cloud 專案中:
- 在 SAP 系統中:
- 建立 OAuth 2.0 用戶端設定檔。
- 為每個用戶端 ID 設定 OAuth 2.0 用戶端。
- 如要將單一 OAuth 用戶端設定檔與多個用戶端 ID 建立關聯,請按照下列額外指示操作:
- 為每個用戶端 ID 設定 OAuth 2.0 用戶端。設定 OAuth 2.0 用戶端時,請在「建立新的 OAuth 2.0 用戶端」對話方塊中,為每個用戶端 ID 指定專屬的設定名稱。詳情請參閱「設定 OAuth 2.0 用戶端」。
- 為每個 OAuth 2.0 用戶端設定個別的用戶端金鑰,並在「授權參數 2」中設定各自的設定名稱。詳情請參閱「設定用戶端金鑰」。
驗證驗證設定
如要驗證驗證設定是否就緒,請按照下列步驟操作:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「Utilities」>「Validate Authentication Configuration」。
輸入用戶端金鑰名稱。
按一下 [Execute] (執行)。
「結果」欄中的綠色勾號表示所有設定步驟都已順利完成。
取得支援
如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作:
在 Cloud 論壇上向社群提問,並討論 ABAP SDK for Google Cloud。
收集所有可用的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP on Google Cloud支援服務」。