1.1:OAuth 帳戶連結

簡介與業務影響


如要使用 Google API,您必須透過 OAuth 授予整合作業必要的商家存取權,以便對方使用免費產品資訊和付費廣告。

alt-OAuth

您的應用程式必須使用 OAuth 2.0 授權要求。系統不支援其他授權通訊協定。

使用者體驗指南


目標:授權商家在 Google 應用程式中分享其資料的使用方式。

設計原則:在適當時機要求適當的權限。如果商家未授予權限,則即使商家未授予權限。

系統會提示商家提供存取權限。以下是系統向商家顯示這些操作說明的範例:

oauth_1

oauth_2

商家完成上述初始步驟後,可能會產生三種可能的結果:

結果 #1:如果商家同意所有權限:

oauth_3

如果商家提供完整權限,系統會勾選所有方塊並提示您繼續進行新手上路程序。

結果 #2:如果商家不同意 Google Ads

oauth_4

商家已勾選所有方塊,但與 Google Ads 相關的權限除外。他們會繼續完成新手上路流程,之後又建立新的 Google Ads 帳戶或連線至現有帳戶時,都會再次提示他們授予權限:

oauth_5 oauth_6

結果 #3:如果未勾選產品資料或網站驗證,商家就無法繼續進行啟用程序

oauth_7

oauth_8

oauth_9

oauth_10

上述所有選項都會產生相同的錯誤訊息:

oauth_11

技術指南


選擇使用 OAuth 2.0 授權要求

您可以透過兩種方式選取商家驗證方法

適用於非服務帳戶的 OAuth 2.0 (強烈建議使用) 服務帳戶適用的 OAuth 2.0
OAuth 2.0 用戶端會識別應用程式,並讓使用者將有限的 Google 資料存取權授予您的應用程式。這種憑證可讓應用程式代表使用者存取 Google Cloud API。

上述情況會導致存取權杖失效,程式碼中應將其納入考量:

● 使用者已撤銷存取權
● 使用者已變更密碼
● 授予的更新權杖數量超過上限
● 裝置未在 6 個月內使用重新整理權杖
服務帳戶是一種特殊的 Google 帳戶,由應用程式使用 OAuth 2.0 透過程式存取 Google API。它採用的 OAuth 2.0 流程不需要人工授權。而是使用僅限您的應用程式存取的金鑰檔案。

注意:使用服務帳戶進行驗證的應用程式只能存取自己的 Merchant Center 帳戶。如要編寫的第三方應用程式需要存取客戶 Merchant Center 帳戶,請改為參閱「授權要求」指南。

注意:您必須有 Cloud 專案,且最多可建立 100 個服務帳戶。查看說明文件

設定 OAuth 流程

OAuth 2.0 授權架構可讓第三方應用程式取得 HTTP 服務的有限存取權,可以是代表資源擁有者安排資源擁有者與 HTTP 服務之間的核准互動,或允許第三方應用程式自行取得存取權。

您的應用程式會存取受保護的 (非公開) 資料,因此您需要 OAuth 2.0 用戶端 ID。Google API 使用 OAuth 2.0 通訊協定進行驗證及授權。Google 支援常見的 OAuth 2.0 情境,例如網路伺服器、已安裝和用戶端應用程式。

瞭解詳情

透過 OAuth 使用 Content API 進行購物的注意事項:

  1. 確認已將 access_type 設為離線:存取權杖會定期過期,並成為相關 API 要求的無效憑證。

  2. 重新整理存取權杖:如果您要求取得與權杖相關聯的範圍離線存取權,則不必提示使用者授予權限 (包括使用者不存在時也包含在內)。(瞭解詳情)。

  3. 程式庫中的 OAuth 實作:強烈建議您使用 Google API 用戶端程式庫

  4. 範圍:您必須要求商家授予您 Google 帳戶的讀取和寫入權限,使其擁有 Google Merchant Center OAuth 範圍:https://www.googleapis.com/auth/content。

  5. 您可以使用 OAuth 取得重要的使用者個人資料資訊

執行整合作業的範圍

視您要為商家建構的整合類型而定,建議您目前要求所有必要範圍。

節目 範圍 必須提供範圍格式
Content API https://www.googleapis.com/auth/content 免費產品資訊
網站驗證相關資訊 https://www.googleapis.com/auth/siteverification 免費產品資訊與付費廣告
廣告 https://www.googleapis.com/auth/adwords 免費產品資訊與付費廣告

確認商家是否已授予 OAuth 存取權

商家必須勾選 OAuth 同意流程中的核取方塊,授予您特定範圍的存取權:如果缺少必要範圍,請向商家說明這些必要範圍,然後重新要求權限 (瞭解詳情)。無法存取所有這些權限,導致商家無法進行完整啟用程序。

access

呼叫下列 API 端點來檢查授予的範圍:

https://www.oauth2.googleapis.com/token

網址會傳回以下資訊:

  • access_token
  • 已授予給使用者的範圍
  • 權杖過期前的時間

申請。

敏感範圍和 OAuth 驗證程序

OAuth API 使用的部分範圍屬於機密範圍,因此需要進行驗證。如需其他資訊和範例,請參閱 Content API 的 OAuth 部分。

  1. 符合政策的機密應用程式範圍:必須確保您的應用程式符合 Google 的 API 服務使用者資料政策。您也必須同意《API 服務條款》。

  2. 確認應用程式不屬於「驗證規定例外狀況」中列出的任何用途。

  3. 使用 Search Console 驗證專案的授權網域擁有權。使用的帳戶必須是 Cloud 控制台專案的專案擁有者或專案編輯者。

  4. 請確認 OAuth 同意畫面上的所有品牌宣傳資訊相符,而且有效,例如:向使用者顯示的專案名稱、支援電子郵件、首頁網址和隱私權政策網址,均能準確代表應用程式的身分。

  5. 在驗證程序中要求應用程式涵蓋敏感範圍:按照這個程序完成相關程序,這需要填寫表單、提供正當理由並傳送影片。