2012-05-12 64 views
2

我想允許用戶使用他們的Twitter帳戶註冊並登錄到我的Java Web應用程序。我唯一需要從他們的Twitter帳戶中獲得的信息是他們的姓名(或者如果沒有提供姓名,則使用Twitter用戶名)以及他們的電子郵件地址。使用Twitter從Java Web應用程序註冊和驗證

我遇到了scribe OAuth庫,該庫提供an example如何使用它從控制檯應用程序使用Twitter進行身份驗證。但是,我無法弄清楚如何適應這個Web應用程序。我不認爲我可以用這個例子:「是」,因爲它包含如下代碼:

Scanner in = new Scanner(System.in); 

不會從web應用程序的工作。另外,一旦身份驗證完成,我無法看到如何檢索用戶的姓名和電子郵件地址。

如果有人能夠指出我如何使用Java Web應用程序對Twitter進行身份驗證(使用OAuth)並檢索用戶名和電子郵件的完整示例,那就太棒了。這個例子不一定要用抄寫員,儘管我自己寫的代碼越少越好。

+0

我不知道該庫,但有一個訪問令牌後API調用獲取用戶詳細信息是[verify_credentials](https://dev.twitter.com/docs/api/1/get/account/ verify_credentials)。雖然沒有包含用戶電子郵件。我猜你不能從Twitter上獲得這個信息 - 大概他們希望你發推文給他們! – Rup

+0

掃描儀 - 該示例正在使用它來接受授權回調的文本輸入。相反,您應該指定回調網址 - 請參閱Facebook示例 - 它將從Twitter身份驗證機制接收此值。 – Rup

+0

我建議你在註冊時詢問電子郵件地址。如果您可以從Twitter API獲取電子郵件地址,那麼您可以填寫他們的電子郵件地址字段,但您仍應允許用戶更改它。有些人爲不同的服務使用不同的電子郵件地址例如,我可以將[email protected]作爲我的twitter地址,但在您的服務中,我希望它是[email protected],以便進行過濾 – palto

回答

1

您需要在您的應用程序中擁有一個接收verifier的端點。

如果你去OOB方式,比如上例中,客戶端將不得不手動執行調用您的端點:

curl http://example.com?verifier=123456 

如果你使用callback這樣的:

Service service = new ServiceBuilder().callback("http://example.com"). //rest of the config 

Twiiter將自行執行呼叫並將用戶瀏覽器重定向到您的端點。