配置Google支付相關引數(client_id, client_secret, refresh_token)

R1cardo發表於2021-11-16
  • 1. 登陸Google開發者賬號,點選左邊API許可權

    Google控制檯

    image-20211116091127630

建立新專案

  1. 轉到 Google Play 管理中心的 API 許可權頁面。
  2. 接受《服務條款》。
  3. 點選建立新專案

系統會自動生成 Google Cloud 專案,並將其關聯到您的 Google Play 管理中心。

  • 2. 配置服務賬號

    • 轉到 Google Play 管理中心的 API 許可權頁面,點選服務帳號下的建立新的服務帳號

      image-20211116091437775

    • 在建立帳號的過程中,您需要向自己的服務帳號授予對 Cloud 專案的訪問許可權,這樣它才能顯示在 Google Play 管理中心內。

      image-20211116091645626

    • 點選Google cloud platform建立,先將Google play專案和自動建立的cloud platform專案繫結

      image-20211116091914588

    • 然後點選建立服務賬號

      image-20211116095524473

      填入名稱即可,其他都是可選。

    • 完成後可以下載金鑰保管到電腦上

      image-20211116092139363

    • 在 Google Play 管理中心建立服務帳號後,點選完成API 許可權頁面的“服務帳號”部分會自動重新整理,您的服務帳號將隨即列出。

      image-20211116091609178

    • 點選授予訪問權,為服務帳號提供執行相關操作所需的許可權。此時,您應該能夠通過服務帳號訪問 Google Play Developer API。如需瞭解詳情,請參閱針對伺服器對伺服器應用使用 OAuth 2.0

  • 3. 建立OAuth客戶端

    • 在建立 OAuth 客戶端之前,您需要為產品配置品牌資訊。

    • 轉到 Google Play 管理中心的 API 許可權頁面。點選 OAuth 客戶端下的配置 OAuth 許可權請求頁面。由於我已經配置了相關資訊,這裡就沒有顯示配置客戶端而是建立客戶端。

      image-20211116092510145

    • 配置產品的品牌資訊。完成配置後,點選重新整理 OAuth 許可權請求資訊。此部分會相應更新,您不會再看到與品牌資訊有關的訊息。

    • 然後再建立客戶端

      image-20211116092758702

      • 建立好了之後檢視客戶端id和客戶端金鑰即client_id和client_secret

      image-20211116093713992

      • 其中的重定向url可以問後端要
    • 在 Google Play 管理中心建立 OAuth 客戶端後,點選完成API 許可權頁面的 OAuth 客戶端部分會自動重新整理,您的 OAuth 客戶端將隨即列出。

    • 有時新的 OAuth 客戶端不會立即顯示在頁面上。在這種情況下,請點選重新整理 OAuth 客戶端。新 OAuth 客戶端的詳細資訊會以列表形式顯示在此頁面上。

  • 4. 獲取您的開發者 ID

    • 有些 API 需要您提供 Google Play 管理中心開發者 ID。這是在建立您的 Google Play 開發者帳號時分配的一個長號碼。您可以在 Google Play 管理中心內幾乎任何頁面(例如 API 許可權頁面)的網址中找到您的開發者 ID。

    • 以 Google Play 管理中心的網址為例:

      https://play.google.com/console/developers/1234567890123456789/api-access
      
    • 在以上網址中,開發者 ID 為 1234567890123456789

      注意:當應用從一個 Google Play 開發者帳號轉移到另一個 Google Play 開發者帳號時,與該應用關聯的開發者 ID 將會發生變化。這意味著,轉移完成後,在該應用的 API 呼叫中,您將必須使用新的 Google Play 開發者帳號的開發者 ID。

  • 5. 生成重新整理令牌(refresh_token)

    • 先使用你的Google play賬號登陸後,轉到以下uri:

      https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
      
    • 將上一步填寫的重定向uri和client_id填入

      注意redirect_uri 引數必須與使用客戶端 ID 註冊的值完全匹配,包括末尾的反斜槓(如果有)。

    • 看到系統提示時,請選擇允許訪問

      • 如果有多個賬號,選擇你的開發者賬號

      image-20211116094529937

    • 瀏覽器將使用 code 引數重定向到您的重定向 URI,該引數類似於 4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI

    • 在之後的uri中找到code

      https://類似於/?code=4%2F0AX4XfWicL_0-Q_jdsl_zrX0KfByRhXwOUrHYaY6XbtvQZoswf_Z1CBRzvXgCl9e-RfybZQ&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fandroidpublisher#/login?redirect=%2Fdashboard

    • 將該程式碼替換為訪問許可權和重新整理令牌組合,為此,您需要向 https://accounts.google.com/o/oauth2/token 傳送 POST 請求,並設定以下欄位:

      grant_type=authorization_code
      code=<the code from the previous step>
      client_id=<the client ID token created in the APIs Console>
      client_secret=<the client secret corresponding to the client ID>
      redirect_uri=<the URI registered with the client ID>
      
    • 然後使用postman

      image-20211116095331051

    • 成功響應後,獲得refresh_token

      {
        "access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
        "token_type" : "Bearer",
        "expires_in" : 3600,
        "refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
      }
      
    • 注意,只有第一次請求會返回refresh_token,請妥善保管

      然後,在後臺將內購所需要的client_id,client_secret,refresh_token一一配置,大功告成~

  • 參考文章

    https://blog.csdn.net/chenglinlin526/article/details/78086127

    https://developers.google.com/android-publisher/getting_started?hl=zh-cn

    https://developers.google.com/android-publisher/authorization

相關文章