Авторизация

В этом разделе содержатся инструкции, относящиеся к API Google Play Developer. Подробнее см. в полной документации OAuth2 .

Начальная конфигурация

Доступ к API Google Play для разработчиков Android осуществляется через протокол OAuth 2.0 Web Server . Перед использованием API необходимо настроить проект консоли API, создать идентификатор клиента и сгенерировать токен обновления.

Создание проекта консоли API

  1. Перейдите в консоль API и войдите в свою учетную запись Google Play Console.
  2. Выберите Создать проект .
  3. Перейдите в раздел «Услуги» на левой навигационной панели.
  4. Включите API разработчика Android для Google Play .
  5. Примите Условия обслуживания.
  6. Перейдите в раздел «Доступ к API» на левой навигационной панели.
  7. Выберите Создать идентификатор клиента OAuth 2.0 .
    • На первой странице вам нужно будет указать название продукта, но логотип не обязателен. Обратите внимание, что конечные пользователи не увидят название продукта.
    • На второй странице выберите веб-приложение и укажите URI перенаправления и источники Javascript. Оба эти параметра можно будет изменить позже.
  8. Выберите Создать идентификатор клиента .

Генерация токена обновления

  1. Войдя в свою учетную запись Google Play Console, перейдите по следующему URI:
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
  2. При появлении запроса выберите Разрешить доступ .
  3. Браузер будет перенаправлен на ваш URI перенаправления с параметром code , который будет выглядеть примерно так: 4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI .
  4. Обменяйте этот код на пару токенов доступа и обновления, отправив запрос 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"
    }
    

Доступ к API

После генерации учетных данных клиента и токена обновления ваши серверы смогут получить доступ к API без активного входа в систему или вмешательства человека.

Использование токена доступа

Серверы могут выполнять вызовы API, передавая токен доступа в заголовке Authorization запроса:

Authorization: Bearer oauth2-token

Использование токена обновления

Каждый токен доступа действителен только в течение короткого времени. После истечения срока действия текущего токена доступа серверу потребуется использовать токен обновления для получения нового. Для этого отправьте POST-запрос на https://accounts.google.com/o/oauth2/token , заполнив следующие поля:

grant_type=refresh_token
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
refresh_token=<the refresh token from the previous step>

Успешный ответ будет содержать еще один токен доступа:

{
  "access_token" : "ya29.AHES3ZQ_MbZCwac9TBWIbjW5ilJkXvLTeSl530Na2",
  "token_type" : "Bearer",
  "expires_in" : 3600,
}

Таким образом, токен обновления позволяет веб-серверу получать постоянный доступ к API без необходимости активного входа в учетную запись Google.