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

  • 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 管理中心的網址為例:

      //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:

      //accounts.google.com/o/oauth2/auth?scope=//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

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

    • 將該程式碼替換為訪問許可權和刷新令牌組合,為此,您需要向 //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一一配置,大功告成~

  • 參考文章

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

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

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