2013-03-07 141 views
2

有没有一种方法,我可以使用谷歌凭据得到像登录使用Gmail凭证

电子邮件,名称基本用户信息,性别

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

我问过同样的here

但回答说:

使用谷歌 帐户,则不应使用Gmail的用户认证。您可以改用Android的Google +登录功能。这将使 允许您在使用OAuth获取 所需的权限后访问用户的配置文件信息。看看这里的指南:

我跟着,一切正常。

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

我的其他问题的答案是正确的吗?没有GooglePlus个人资料的意思是,您无法在Android中进行Gmail登录?

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

类似的问题here,没有答复。

请帮忙。谢谢

回答

1

的文档使用谷歌的的OAuth2在https://developers.google.com/accounts/docs/OAuth2Login提供用户身份验证。然而,正如页面所记录的,如果您和您的用户使用Google+帐户和Google+登录功能,则可以获得更多功能,但这不是必需的。

所需的范围是

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

更新:我应该修改这些范围正在过时,并计划去除。详细信息请参见上面的URL。

+0

你能提供一些线索在这里:http://stackoverflow.com/questions/23010509/login-to-google-on-a-web-service-and-use-the -createntials-on-an-android-device – Skynet 2014-04-11 10:53:14

1

我不会将“Gmail”帐户和“Google+”帐户混为一谈。真正想要的是让用户使用他们的“Google帐户”进行身份验证,该帐户涵盖了许多服务。

在Android上,建立authentication with Google accounts is to use the Google Play Services SDK最简单的方法,其中包括像谷歌标志的服务。

Google+的文档的终端到终端的方式来使用谷歌Play服务SDK的覆盖,你问的问题使用任一PlusClient.getAccountName()或REST方法

  1. Setting up the client
  2. Getting the user's email address:使用PlusClient
  3. Getting the user's profile info使用PlusClient.loadPerson()
+0

不是'getAccounts()'很好用吗?在那里我可以得到Gmail的ids,以便我可以使用它们来获取访问令牌,然后获取详细信息。因为我试过了,我从不需要任何'PlusClient',所以,可能没有机会要求Google+个人资料?如果您可以确认,这将是非常好的:) – user1537779 2013-03-08 04:48:55

+1

因为我现在的主要问题是**如果Gmail帐户没有Google Plus配置文件,它会要求创建一个。哪些不应该发生。仅Gmail就足以获得访问令牌和个人资料详细信息** – user1537779 2013-03-08 04:51:59