Как создать токен обновления и доступа для API разработчиков Google Play - PullRequest
0 голосов
/ 10 мая 2018

Моя цель состоит в том, чтобы проверить пользовательские покупки на сервере Google, как описано здесь> Purchases.products: get

но мне нужно авторизовать запрос> Документация для авторизации

В соответствии с Документация по авторизации API Google Play Developer для создания маркера доступа и обновления:

"... отправка запроса POST на https://accounts.google.com/o/oauth2/token со следующими установленными полями:

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"
}

"

я успешно сгенерировал код, client_id, client_secret, redirect_uri из console.developers.google.com, но когда я отправляю запрос 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

я получаю следующий ответ, когда использую Почтальон :

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

с кодом состояния = 400

я получаю следующий ответ при использовании Chrome:

{
    "error": "invalid_request"
}

Как я могу получить правильный ответ?

1 Ответ

0 голосов
/ 10 мая 2018

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, потому что нет тела запроса.

Кроме того, при использовании Postman ответ

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

означает, что вы выбрали неправильныйзаголовок.Вы должны выбрать опцию application/x-www-form-urlencoded на вкладке Body в Почтальоне.Затем запишите значение пары ключей.Вы получите что-то вроде этого:

enter image description here

...