[英]Validate user in Twitter4j?
有什么方法可以使用戶輸入用戶名和密碼並驗證其帳戶? 我這樣做的原因是要確保用戶實際上擁有該用戶名,並且為此,他們必須具有密碼。 是否可以通過任何方式驗證其憑據並獲取返回的布爾值(無論身份驗證是否失敗)?
像這樣:
if(validated)
{
// Your validated
}
else
{
// Authentication failed.
}
我不確定如何使用新的1.1 API做到這一點。
我想也許其他人對此會更好,但是作為前進的方向,我將只分享我的想法,這可能會幫助您解決問題。
我不認為返回boolean
的方法就這么簡單,因為默認情況下您無權訪問用戶帳戶。 這在twitter4j主頁上進行了描述,並且如果您正在開發Web應用程序,我認為您可以按照“ 使用Twitter登錄”下描述的示例進行操作。
如果它是本機Java應用程序,我想您應該使用OAuth解決方案,在該應用程序中,您可以在twitter API上注冊應用程序(以獲取使用者密鑰/秘密),並授予訪問權限以驗證用戶。
基本上,我認為您最終將使用戶與twitter登錄頁面進行交互,如twitter4j的示例所示:
// The factory instance is re-useable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();
twitter.setOAuthConsumer("[consumer key]", "[consumer secret]");
RequestToken requestToken = twitter.getOAuthRequestToken();
AccessToken accessToken = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (null == accessToken) {
System.out.println("Open the following URL and grant access to your account:");
System.out.println(requestToken.getAuthorizationURL());
System.out.print("Enter the PIN(if aviailable) or just hit enter.[PIN]:");
String pin = br.readLine();
try{
if(pin.length() > 0){
accessToken = twitter.getOAuthAccessToken(requestToken, pin);
}else{
accessToken = twitter.getOAuthAccessToken();
}
} catch (TwitterException te) {
if(401 == te.getStatusCode()){
System.out.println("Unable to get the access token.");
}else{
te.printStackTrace();
}
}
}
您在此問題中還有其他信息: Twitter4J僅通過我進行身份驗證
請注意,您需要Twitter4J
>> 3.0的Twitter4J
版本才能獲得API 1.1支持。
希望它能幫助您前進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.