我如何为 Google Play 开发者 API 生成刷新和访问令牌

How do i generate refresh and access token for Google Play Developers API

我的目标是按照此处所述验证 google 服务器上的用户购买 > Purchases.products: get

但我需要授权请求 > Authorisation Documentation

根据Google Play Developer API Authorization Doccumentation生成访问和刷新令牌:

"... sending a POST request to https://accounts.google.com/o/oauth2/token with the following fields set:

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>

成功的响应将以 JSON 格式包含您的令牌:

{
  "access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
  "token_type" : "Bearer",
  "expires_in" : 3600,
  "refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
}

"

我从 console.developers.google.com 成功生成了代码,client_id、client_secret、redirect_uri 但是当我发送 POST 请求时

https://accounts.google.com/o/oauth2/token?grant_type=authorization_code&code=my_generated_codeA&client_id=generated_client_id&client_secret=generated_client_secret&redirect_uri=my_redirect_uri

我在使用 Postman 时得到以下响应:

{
    "error": "invalid_request",
    "error_description": "Missing header: Content-Type"
}

状态码 = 400

我在使用 Chrome 时得到以下响应:

{
    "error": "invalid_request"
}

我怎样才能得到正确的回应?

https://accounts.google.com/o/oauth2/token?grant_type=authorization_code&code=my_generated_codeA&client_id=generated_client_id&client_secret=generated_client_secret&redirect_uri=my_redirect_uri是GET请求,不是POST请求,因为没有请求body。

另外,当使用 Postman 时响应

{
"error": "invalid_request",
"error_description": "Missing header: Content-Type"
}

表示你select错了header。您应该在 Postman 的 Body 选项卡中 select application/x-www-form-urlencoded 选项。然后记下密钥对值。你会得到这样的东西: