設定及使用 OAuth

所有 Local Services API 呼叫都必須透過 OAuth 2.0 授權。這樣一來,您的 Local Services API 用戶端應用程式就能存取使用者的在地生活服務廣告帳戶,不必處理或儲存使用者的登入資訊。

Local Services API 會使用 OAuth 2.0 通訊協定驗證使用者。如要進一步瞭解 OAuth 2.0,請參閱「使用 OAuth 2.0 存取 Google API」。

為 Local Services API 設定 Google API 控制台專案

如要驗證及授權 Google Ads 使用者,您必須具備存取 Google OAuth 2.0 伺服器的憑證。這些憑證可向 Google 識別您的應用程式,並讓您產生 OAuth 權杖來管理 Google Ads 使用者。使用 Google API 控制台管理 Google OAuth 2.0 憑證的存取權。

如要取得這些憑證,請按照下列步驟操作:

  1. 建立專案。如要這麼做,請前往 Google API 控制台。按一下「建立專案」,輸入名稱,然後按一下「建立」

  2. 在專案中啟用 Local Services API:

    1. 在 Google API 控制台中開啟 API 程式庫。按照系統說明選取專案,或建立新專案。API 程式庫會列出所有可用的 API,並按照產品系列及熱門程度分組。

      如果清單中沒有顯示 Local Services API,請使用搜尋方塊尋找。

    2. 選取 Local Services API,然後按一下「啟用」

  3. 選擇應用程式類型。Local Services API 使用的應用程式類型與 Google Ads API 相同。如要進一步瞭解該使用哪種應用程式類型,請參閱「選擇應用程式類型」一文。

  4. 建立用戶端 ID 和用戶端密鑰。如要使用 Local Services API,請按照相同步驟建立用戶端 ID 和用戶端密碼,這兩種情況的步驟完全相同。

使用用戶端程式庫取得 OAuth 2.0 權杖

如需可用於提出 OAuth 2.0 授權要求的用戶端程式庫清單,請參閱用戶端程式庫。請按照程式庫專屬的操作說明,瞭解如何使用更新權杖取得新的存取權杖。

如何取得 OAuth 2.0 更新權杖

建議您在實際工作環境中使用用戶端程式庫驗證使用者。如要使用 HTTP 用戶端進行測試,請按照下列操作說明取得 OAuth 2.0 更新權杖和存取權杖。步驟 1、2 和 3 是一次性設定說明,您必須手動執行,步驟 4 和 5 則可自動執行,不需人為介入,例如 cron 工作。

  1. 下載並安裝 curl,這是用來發出 HTTP 網路要求的指令列工具。

  2. 按照 OAuth Playground 頁面的說明操作,取得 OAuth 2.0 更新權杖。請使用下列範圍存取 Local Services API:

    https://www.googleapis.com/auth/adwords
    

    這與 Google Ads API 使用的 OAuth 2.0 範圍相同。

    完成這個步驟後,您會收到兩個權杖:更新權杖和存取權杖。請儲存這兩項資訊。

  3. 在命令提示字元中執行下列指令,確認上一個步驟是否成功:

    curl https://oauth2.googleapis.com/tokeninfo?access_token=<INSERT_ACCESS_TOKEN>
    

    如果指令輸出內容顯示類似下列的訊息,表示成功:

    {
      "azp": "************-********************************.apps.googleusercontent.com",
      "aud": "************-********************************.apps.googleusercontent.com",
      "scope": "https://www.googleapis.com/auth/adwords [googleapis.com]",
      "exp": "1611183382",
      "expires_in": "3482",
      "access_type": "offline"
    }
    

    如果發生錯誤或範圍不正確,請嘗試再次產生權杖。

  4. 產生新的存取權杖,不必手動介入。這點很重要,因為存取權杖每小時都會過期。重新整理權杖的到期時間較長,因此不再需要時,通常需要手動撤銷。

    如要取得新的存取權杖,請執行下列指令:

    curl --data "refresh_token=<INSERT_REFRESH_TOKEN>&client_id=<INSERT_CLIENT_ID>&client_secret=<INSERT_CLIENT_SECRET>&grant_type=refresh_token" -X POST "https://oauth2.googleapis.com/token”
    
  5. 執行下列 API 呼叫:

    curl -H "Authorization: Bearer <INSERT_ACCESS_TOKEN>" https://localservices.googleapis.com/v1/accountReports:search?query=manager_customer_id:<INSERT_10_DIGIT_MANAGER_CUSTOMER_ID_WITHOUT_HYPHENS>
    

    如果通話成功,設定就完成了。