Могу ли я использовать AccountManager, чтобы позволить пользователям входить в свою учетную запись Google?

Я создаю приложение, которому потребуются пользователи для создания учетной записи. (Как того требует Facebook или Twitter.)

НО, поскольку это приложение для Android, должен/могу ли я позволить им войти в свою учетную запись Google с помощью AccountManager или какой-либо другой службы? Было бы очень полезно, если бы они могли просто войти в свою учетную запись Google, и их настройки и другие параметры были бы сохранены в этой учетной записи.

Подытожим основные вопросы:

  1. Is it possible to let a user just use their Google account in my app?
    • If so, do I use AccountManager to have them sign in and save account information/settings?
      • What are other options?

person Cole    schedule 10.03.2012    source источник
comment
Некоторое время существовал хак, который позволял вам запрашивать аутентификацию в приложении Google App Engine, и, используя это приложение в качестве серверной части, вы могли получить аутентифицированный идентификатор и/или адрес электронной почты. Не уверен, что это все еще работает, я слышал, что это постепенно прекращается.   -  person nmr    schedule 10.03.2012


Ответы (3)


Да, вы можете заставить пользователей входить в свои службы Google, используя свои учетные данные Google, например, у меня есть приложение в Google Tasks, и я использую Android AccountManager, чтобы пользователи могли аутентифицировать себя, используя свою учетную запись Google на устройстве Android (нет необходимости в пользователям ввести свой пароль!)

Вот несколько действительно хороших примеров для начала:

Пользователь должен подтвердить, можете ли вы использовать его/ее учетные данные для входа в службу Google

Другие варианты, которые у вас есть, — это попросить пользователей вручную ввести свое имя пользователя/пароль. Для этого вы должны использовать сторонний API аутентификации (например, signpost для OAuth) для им войти в систему.

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

Дайте мне знать, если у вас есть дополнительные вопросы

person Soham    schedule 10.03.2012
comment
Чтобы этот экран появлялся при первом запуске приложения? (Очевидно, будет указано имя моего приложения вместо TasksSample), и тогда они останутся в приложении или как это работает? - person Cole; 11.03.2012
comment
Да, это всплывет, когда вы запросите доступ для использования учетных данных пользователей на Android. Получив доступ, вы можете сгенерировать временный токен авторизации на основе учетных данных пользователя (которые вы не можете видеть напрямую). Этот временный токен можно использовать для доступа к API Google (или другому API, например FB/Twitter, в зависимости от обстоятельств) API от имени пользователя. По истечении срока действия токена вы можете программно обновить его, чтобы восстановить доступ к службе, не показывая пользователю такой экран. - person Soham; 11.03.2012
comment
Есть ли какое-либо руководство по получению таких токенов для gmail и facebook, чтобы иметь возможность извлекать из них данные? - person android developer; 26.07.2012
comment
Здесь есть очень хороший пример аутентификации Facebook на Android blog.doityourselfandroid.com/2011/02/28/ Я не могу найти ни одного конкретного примера для gmail, но для служб Google в целом (например, для задач) вы можете использовать AccountManager developer.android.com/training/id-auth/authenticate.html - person Soham; 27.07.2012

Хотя это новая разработка, вход в Google Plus, представленный как часть сервисов Google Play, также можно использовать. Дополнительную информацию можно найти на странице Блог разработчиков Android. См. пример реализации из приложения Banjo.

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

Кажется, есть большое ограничение — для использования этого на устройстве должно быть установлено приложение Google+.

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

Кроме того, это довольно хороший блог, если кто-то заинтересован в реализации решения.

person Gaurav Agarwal    schedule 21.06.2013

@Soham дал вам несколько очень полезных ссылок, но не исправил одну серьезную ошибку:
AccountManager — это объект, который управляет учетными записями на вашем устройстве Android, и он не имеет ничего общего с вашей учетной записью Google! вы можете использовать учетную запись Google и создать НОВУЮ учетную запись на своем устройстве с помощью AccountManager.

Остальное вы можете узнать по ссылкам, которые дал вам Сохам.

person Nir Alfasi    schedule 10.03.2012