Далеко не просто получить accesstoken для этого API. This blog post помог мне начать работу в правильном направлении, но я изложил свой собственный процесс, который не зависит от использования каких-либо внешних скриптов для работы. Шаги:
- Получить идентификатор клиента и секретный (разово)
- получить токен обновления (разовый)
- Используйте Refresh Токен, чтобы получить маркер доступа (один раз в час) 4 Используйте маркер доступа для доступа к API
Каждый из этих этапов подробно описаны ниже:
Получение идентификатора клиента и Secret
- Перейти к в Google Developer's console
- Перейти на страницу проекта
- Выберите «Согласие экрана» на левой стороне и убедитесь, что адрес электронной почты и название продукта поля установлены
- Select " «Учетные данные» в меню слева и выберите «создать новый идентификатор клиента»
- Оставьте тип приложения «Веб-приложение» и установите «Авторизованный URI-редирект» на
https://localhost
. Вам не нужно изменять Авторизованный исходный код JavaScript.
- Нажмите «Создать идентификатор клиента» и запишите его идентификатор клиента и клиента.
Получение токен обновления
В веб-браузере введите следующий URL (заменяющий правильное значение для client_id): https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=https://localhost&client_id=XXXX
Accept любые запросы для авторизации, которые появляются
Затем вы будете перенаправлены на URL-адрес:
https://localhost/?code=4/k0TenvwICIgmBoQOazJy4_EnJr6-.clLqtp_vVAIbEnp6UAPFm0GASPqQigI
Скопируйте код из последней части этого URL
Использование Wget для преобразования этого кода в знак обновления; заменителем КОД, CLIENT_ID и client_secret
wget --debug --post-data="grant_type=authorization_code&code=CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=https://localhost" https://accounts.google.com/o/oauth2/token
Полученный файл в формате JSON будет содержать access_token и refresh_token. Регистрируют значение refresh_token
Получение маркер доступа
- отправить запрос POST к https://accounts.google.com/o/oauth2/token со следующими полями, установленными (заменой REFRESH_TOKEN, CLIENT_ID, client_secret)
- grant_type = refresh_token
- refresh_token = REFRESH_TOKEN
- client_id = CLI ENT_ID
- client_secret = client_secret
вы получите обратно JSON строку, содержащую access_token, что будет хорошо в течение одного часа.
Используя маркер доступа, чтобы сделать запрос API
Fetch из
https://www.googleapis.com/androidpublisher/v1.1/applications/PACKAGENAME/inapp/SKU/purchases/PURCHASETOKEN
с заголовком Authorization, содержащий маркер доступа, например:
Authorization: Bearer ya29.1.AADtN_WoM4-4Fb1voFL-emcUWluijCzwvc9Z-FYM9SPvK03HCbGkdROJTVVPSLHK2IlVJQ
You может также быть в состоянии передать t он указывает токен доступа как параметр HTTP-запроса, например.
https://www.googleapis.com/androidpublisher/v1.1/applications/PACKAGENAME/inapp/SKU/purchases/PURCHASETOKEN?authorization_token=AUTHTOKEN
Проверить ХТ tp: //stackoverflow.com/a/24264696/165708 для решения с помощью библиотек Google. –