2010-07-16 193 views
2

我必須做登錄身份驗證才能發佈推文。我從this link獲得Jtwitter.jarSignPost.jar文件。據我搜索,xAuth認證更有效。但我還沒有得到任何簡單的教程或一段代碼來進行登錄驗證。我發現this Article並使用此代碼。那得到NullPointerExceptionTwitter登錄Android中的身份驗證?

我創建了客戶密鑰和密鑰也使用了獲取jar網站的代碼。那得到Verification Error

請分享一些想法或步驟來驗證用戶的用戶名和密碼?

編輯:

我要發佈從user's account。您更喜歡使用Api,無論是Jtwitter還是Oauth?並告訴我How-toRelated Articles

回答

4

繼承人是一個極好的例子由Brion的昂德實施OAuth進行微博Android中

http://github.com/brione/Brion-Learns-OAuth

繼承人video

JTwitter爲基本autentication,避免OAuthocalypse在8月16日twitter aunthentication即將更改 http://www.4psmarketing.com/blog/world-cup-2010-delays-twitter-oauthocalypse

+0

我已經看了。但是用戶無法輸入用戶名和密碼? – Praveen 2010-07-16 20:03:15

+0

嗨Praveen請看視頻,我會幫你,如果你有任何疑問。 – Jorgesys 2010-07-16 20:08:59

+0

Praveen:OAuth不會直接處理用戶名或密碼。它通過引導用戶訪問服務(即Twitter登錄頁面)來獲得認證,然後使用該服務(即Twitter OAuth服務,由OAuth API提供給您的URL)確認用戶登錄的服務交換祕密標記的方式。 – Dave 2010-07-17 08:28:53

1

@Jorgesys - 你說錯了「JTwitter用於基本認證」是錯誤的。 JTwitter支持OAuth,示例代碼顯示正在使用OAuth。請參閱JTwitter documentation

xAuth不適合用戶使用,因爲您需要收集用戶密碼。如果你想使用xAuth,你必須要求Twitter支持權限。

所以OAuth可能會更多的工作,但它是最好的使用。

在Android上,您需要將用戶引導至認證頁面。下面的代碼應該可以工作。如果你能處理回調,你可以讓事情更順暢。

// Make an oauth client 
// "oob" is for the slightly clunky enter-your-pin method 
OAuthSignpostClient oauthClient = new OAuthSignpostClient(MY_OAUTH_KEY, MY_OAUTH_SECRET, "oob"); 

// open the authorisation page in the user's browser 
URI url = client.authorizeUrl(); 
Intent myIntent = new Intent(Intent.VIEW_ACTION); 
myIntent.setData(url); 
startActivity(myIntent); 

// TODO Get the pin from the user 
String pinCode; 

oauthClient.setAuthorizationCode(pinCode); 
// Store the authorisation token details for future use 
Object accessToken = client.getAccessToken(); 

// Make a Twitter object 
Twitter twitter = new Twitter("my-name", oauthClient); 
// Set your status 
twitter.setStatus("Messing about in Java");