Как создать токен обновления и доступа для Google Play Developers API

Моя цель — проверить покупки пользователей на сервере Google, как описано здесь > Покупки.продукты: получить

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

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

"... отправка запроса 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

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

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

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

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

{
    "error": "invalid_request"
}

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


comment
Как вы отправляете POST-запрос? Вы делаете это через браузер, Postman, java-код или что-то еще? Если вы отправляете его с помощью java, предоставьте исходный код.   -  person AloDev    schedule 10.05.2018
comment
я сделал это через почтальон и браузер   -  person LekeOpe    schedule 10.05.2018


Ответы (1)


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 в Postman. Затем запишите значение пары ключей. Вы получите что-то вроде этого:

введите здесь описание изображения

person AloDev    schedule 10.05.2018