2012-03-10 160 views
13

我正在創建一個需要用戶創建帳戶的應用程序。 (如Facebook或Twitter會要求你。)我可以使用AccountManager讓用戶使用他們的Google帳戶登錄嗎?

但是,由於它是一個Android應用程序,我應該/可以讓他們使用AccountManager或其他服務使用他們的Google帳戶登錄嗎?如果他們只需登錄他們的Google帳戶並將他們的設置和其他選項保存到該帳戶,就會非常有幫助。

的主要問題概括:

  1. 是否有可能讓用戶只需使用他們的谷歌帳戶,我的應用程序?
    • 如果是這樣,我是否使用AccountManager讓他們登錄並保存帳戶信息/設置?
      • 還有什麼其他選擇?
+0

有一段時間,您可以向Google App Engine應用請求身份驗證,並通過將該應用用作後端,您可以獲得經過身份驗證的標識符和/或電子郵件地址。不知道這是否仍然有效,我聽說它正在被逐步淘汰。 – nmr 2012-03-10 06:07:21

回答

15

是的,你可以讓用戶登錄到自己的谷歌服務中使用他們的谷歌憑證,例如,我對谷歌的任務的應用程序,我使用Android的AccountManager讓用戶驗證自己的身份使用Android設備上的谷歌帳戶(無需用戶輸入自己的密碼!)

有一些很好的例子,讓你開始:

The user has to confirm whether you can use his/her credentials to log into the google service

您的其他選項是讓用戶手動輸入他們的用戶名/密碼。爲此,您必須使用第三方身份驗證API(例如用於OAuth的signpost)才能登錄。

在我的任務/待辦應用程序中,我爲用戶提供了使用他們的Android憑據或使用第三方登錄的選項對於想要登錄使用一些其他賬戶(未在該設備上啓用的帳戶)的用戶認證

讓我知道如果您有更多問題

+0

因此,第一次運行應用程序時屏幕就會出現? (它會說我的應用程序的名稱,而不是TasksSample顯然),然後他們會保持登錄到應用程序或它是如何工作的? – Cole 2012-03-11 01:54:20

+0

是的,當你要求在Android上使用用戶憑據時,會出現這種情況。一旦獲得訪問權限,就可以根據用戶憑據生成臨時授權令牌(無法直接查看)。這個臨時令牌可以用來代表用戶訪問谷歌(或者其他API,如FB/Twitter,視情況而定)API。一旦令牌到期,您可以以編程方式刷新它以重新獲得對該服務的訪問權限,而無需向用戶顯示這樣的屏幕。 – Soham 2012-03-11 09:07:28

+0

是否有任何教程可用於獲取這些令牌爲Gmail和Facebook,以便能夠從他們獲取數據? – 2012-07-26 07:41:28

0

@Soham給你一些非常有用的鏈接,但他沒沒有更正一個重大錯誤:
AccountManager是管理您的Android設備上的帳戶的實體 - 它與您的谷歌accoun沒有任何關係牛逼!您可以使用Google帳戶並使用AccountManager在您的設備上創建一個新帳戶。

其他你可以從鏈接Soham給你。

1

雖然這是一項新開發,但也可以使用作爲Google Play服務的一部分引入的Google Plus登錄功能。更多信息可在Android developers blog找到。見示例實現從Banjo應用

enter image description here

似乎有很大的侷限性 - 用戶需要安裝在設備上的Google+應用使用此。

enter image description here

而且這是一個相當不錯的blog,如果有人有興趣實施這一方案。

相關問題