簡體   English   中英

在Twitter4j中驗證用戶?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM