Как получить идентификатор пользователя Google с помощью адреса GMail в Android?

Как получить идентификатор пользователя Google, что-то похожее на "1242343543557656", используя адрес GMail в Android? Я искал это и нашел ответы только на том, как получить адрес gmail и имя пользователя. Что я хочу - это уникальный идентификатор, предоставленный google для адреса gmail?

Вот некоторые из ссылок, о которых я уже говорил. - Доступ к идентификатору/имени пользователя учетной записи Google через Android - Как я могу получить имя пользователя Google на Android? - Получить идентификатор Google, используемый для загрузки приложения - Как получить основной адрес электронной почты устройства Android

2 ответа

Дополнение от 2016/12: Инструмент Google Identity был заменен Firebase Authentication.

Я просто добавляю к этому вопросу, поскольку вижу, что он получил много мнений. Пользователь должен пройти аутентификацию до получения идентификатора пользователя Google (в противном случае вы могли бы вывести учетные данные с любого произвольного адреса электронной почты). Рекомендуемый способ обращения с Android на Android - использовать набор инструментов Google Identity:

Используйте Identity Toolkit в своем приложении для Android: https://developers.google.com/identity/toolkit/android/

Приложение для быстрого запуска Android: https://developers.google.com/identity/toolkit/android/quickstart


Насколько я знаю, вы не можете получить идентификатор пользователя google прямо с Android. Единственное решение - сделать аутентифицированный вызов GAE (т.е. Вызов с параметром "Пользователь"), а затем прочитать идентификатор из объекта User, а затем вернуть его клиенту Android.

Я думаю, что самый простой способ реализовать это (поскольку вы используете GAE) - использовать конечные точки google, что упрощает аутентификацию. Инструкции и код для этой аутентификации приведены здесь.

Затем вызовите getUserId() в объекте User (первый параметр конечной точки) и верните его вызывающему.

licensed under cc by-sa 3.0 with attribution.