2

有没有办法可以使用 Google 凭据来获取基本用户信息,例如

电子邮件、姓名、性别

并在我的应用程序中使用它们?就像允许用户使用 Gmail 登录我的应用程序一样。

我在这里问了同样的问题。

但答案是:

您不应使用 Gmail 进行使用 Google 帐户的用户身份验证。您可以改用适用于 Android 的 Google + 登录。这将允许您在使用 OAuth 获得所需权限后访问用户的个人资料信息。在此处查看指南:

我遵循了,一切正常。

但是,如果 Gmail 帐户没有 GooglePlus 个人资料,我的应用程序会要求创建一个 GooglePlus 帐户。这让我觉得我实现了 GooglePlus 登录而不是 Gmail 登录。

我的另一个问题的答案对吗?这意味着如果没有 GooglePlus 个人资料,您就无法在 Android 中登录 Gmail?

如果不是,我如何在我的应用程序中使用 Google 登录?

这里有一个类似的问题,没有回复。

请帮忙。谢谢你

4

3 回答 3

3

试试这个 Url 上的文章:http: //nilvec.com/implementing-smtp-or-imap-xoauth-authentication-in-java.html

我想这会对你有所帮助

于 2013-03-07T13:10:23.753 回答
1

https://developers.google.com/accounts/docs/OAuth2Login提供了使用 Google 的 OAuth2 对用户进行身份验证的文档。但是,正如页面所述,如果您和您的用户使用 Google+ 帐户和 Google+ 登录,他们将获得额外的功能,但这不是必需的。

所需的范围是

  • https://www.googleapis.com/auth/userinfo.profile姓名和性别
  • https://www.googleapis.com/auth/userinfo.email对于用户的电子邮件地址

更新:我应该修改这些范围现在已弃用,并计划删除。有关详细信息,请参阅上面的 URL。

于 2013-03-07T13:40:48.230 回答
1

我不会将“gmail”帐户和“Google+”帐户混淆为不同的东西。您真正想要的是用户使用他们的“Google 帐户”进行身份验证,该帐户跨越许多服务。

在 Android 上,使用 Google 帐户构建身份验证的最简单方法是使用 Google Play Services SDK,其中包括 Google 登录等服务。

Google+ 记录了使用 Google Play 服务 SDK 的端到端方法,该方法涵盖了您通过以下方式询问的问题PlusClient

  1. 设置客户端
  2. 使用PlusClient.getAccountName()REST 方法或 REST 方法获取用户的电子邮件地址。
  3. 使用_PlusClient.loadPerson()
于 2013-03-07T16:45:09.957 回答