2013-03-07 138 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