Получите идентификатор клиента OAuth 2.0

Обзор

Чтобы использовать Google Fit для Android, вам понадобится идентификатор клиента OAuth 2.0 для приложений Android.

Все приложения Android подписаны цифровым сертификатом, для которого у вас есть закрытый ключ. Обратитесь к руководству Android по подписанию приложений для получения дополнительной информации о цифровых сертификатах.

Идентификаторы клиента Android OAuth привязаны к определенным парам сертификат/пакет. Вам нужен только один идентификатор для каждого сертификата, независимо от того, сколько пользователей у вас есть для приложения.

Получение идентификатора для вашего приложения требует нескольких шагов. Эти шаги описаны ниже.

  1. Найдите информацию о сертификате вашего приложения.
  2. Создайте или измените проект в Google API Console.
  3. Запросите идентификатор клиента OAuth 2.0.

Найдите информацию о сертификате вашего приложения

Ключ API основан на краткой форме цифрового сертификата вашего приложения, известной как его отпечаток SHA-1 . Чтобы отобразить отпечаток SHA-1 для вашего сертификата, сначала убедитесь, что вы используете правильный сертификат. У вас может быть два сертификата:

  • Сертификат отладки : Инструменты Android SDK генерируют этот сертификат автоматически при выполнении отладочной сборки. Используйте этот сертификат только с приложениями, которые вы тестируете. Не пытайтесь опубликовать приложение, подписанное сертификатом отладки. Сертификат отладки более подробно описан в разделе Signing in Debug Mode в документации Android Developer.
  • Сертификат выпуска : Инструменты Android SDK генерируют этот сертификат, когда вы делаете сборку выпуска. Вы также можете сгенерировать этот сертификат с помощью программы keytool . Используйте этот сертификат, когда вы будете готовы выпустить свое приложение в мир.

Выполните следующие шаги, чтобы отобразить отпечаток сертификата SHA-1 с помощью программы keytool с параметром -v . Для получения дополнительной информации о Keytool см. документацию Oracle .

Отладочный сертификат

Отображение отпечатка отладочного сертификата

  1. Найдите файл хранилища ключей отладки. Имя файла — debug.keystore , и он создается при первой сборке проекта. По умолчанию он хранится в том же каталоге, что и файлы Android Virtual Device (AVD):

    • macOS и Linux : ~/.android/
    • Windows Vista и Windows 7 : C:\Users\your_user_name\.android\
  2. Перечислите отпечаток SHA-1:

    • Для Linux или macOS откройте окно терминала и введите следующее:

      keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • Для Windows Vista и Windows 7 выполните:

      keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Вы должны увидеть примерно такой вывод:

Alias name: androiddebugkey
Creation date: Jan 01, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4aa9b300
Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033
Certificate fingerprints:
     MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9
     SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75
     Signature algorithm name: SHA1withRSA
     Version: 3
Сертификат выпуска

Отображение отпечатка сертификата выпуска

  1. Найдите файл хранилища ключей сертификата выпуска. Для хранилища ключей выпуска нет местоположения или имени по умолчанию. Если вы не укажете его при сборке приложения для выпуска, сборка оставит ваш .apk неподписанным, и вам придется подписать его, прежде чем вы сможете опубликовать его. Для сертификата выпуска вам также понадобятся псевдоним сертификата и пароли для хранилища ключей и сертификата. Вы можете перечислить псевдонимы для всех ключей в хранилище ключей, введя:

    keytool -list -keystore your_keystore_name

    Замените your_keystore_name на полный путь и имя хранилища ключей, включая расширение .keystore . Вам будет предложено ввести пароль хранилища ключей. Затем keytool отобразит все псевдонимы в хранилище ключей.

  2. Введите в терминале или командной строке следующее:

    keytool -list -v -keystore your_keystore_name -alias your_alias_name

    Замените your_keystore_name на полный путь и имя хранилища ключей, включая расширение .keystore . Замените your_alias_name на псевдоним, который вы назначили сертификату при его создании.

Вы должны увидеть примерно такой вывод:

Alias name: <alias_name>
Creation date: Feb 02, 2013
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4cc9b300
Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033
Certificate fingerprints:
    MD5:  AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9
    SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75
    Signature algorithm name: SHA1withRSA
    Version: 3

Строка, которая начинается с SHA1 , содержит отпечаток сертификата SHA-1. Отпечаток представляет собой последовательность из 20 двузначных шестнадцатеричных чисел, разделенных двоеточиями.

Запросите идентификатор клиента OAuth 2.0 в Google API Console

Выполните следующие действия, чтобы создать или изменить проект для вашего приложения в консоли API Google, включить Fitness API и запросить идентификатор клиента OAuth 2.0.

Если вы хотите получить инструкции по процессу и активировать Fitness API автоматически, нажмите

Получить идентификатор клиента

Либо выполните следующие действия, чтобы включить Fitness API в консоли API Google и получить идентификатор клиента OAuth 2.0.

  1. Перейдите в консоль API Google .
  2. Выберите проект или создайте новый. Используйте один и тот же проект для Android и REST-версий вашего приложения.
  3. Нажмите «Продолжить» , чтобы включить Fitness API.
  4. Нажмите Перейти к учетным данным .
  5. Нажмите Новые учетные данные , затем выберите Идентификатор клиента OAuth .
  6. В разделе «Тип приложения» выберите Android .
  7. В появившемся диалоговом окне введите отпечаток SHA-1 вашего приложения и имя пакета. Например:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

    com.example.android.fit-example

  8. Нажмите Create . Ваш новый Android OAuth 2.0 Client ID и секрет появятся в списке ID вашего проекта. OAuth 2.0 Client ID — это строка символов, примерно такая:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com