0

ユーザーにユーザー名とパスワードを入力させ、アカウントを検証させる方法はありますか? この背後にある私の推論は、ユーザーが実際にそのユーザー名を所有していることを確認することです。そのためには、パスワードが必要です。認証が失敗したかどうかに関係なく、資格情報を確認し、返されたブール値を取得する方法はありますか?

このようなもの:

if(validated)
{
    // Your validated
}
else
{
    // Authentication failed.
}

新しい 1.1 API でこれを行う方法がわかりません。

4

1 に答える 1

0

他の誰かがこれをよく知っていると思いますが、前進する方法として、私が考えていることを共有し、問題を解決するのに役立つかもしれません.

booleanデフォルトではユーザーアカウントにアクセスできないため、を返すメソッドとしてはそれほど単純ではないと思います。これはtwitter4jホームページで説明されており、Web アプリケーションを開発している場合は、Sign in with Twitter で説明されている例に従うことができると思います。

ネイティブ Java アプリケーションの場合は、Twitter API でアプリケーションを登録し (コンシューマ キー/シークレットを取得するため)、ユーザーを検証するためのアクセス権を付与するOAuthソリューションを使用する必要があると思います。

基本的には、twitter4j の例に見られるように、ユーザーが twitter ログイン ページを操作することになると思います。

// 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();
    }
  }
}

この Q: Twitter4J Only Authenticates With Meに追加情報があります。

Twitter4JAPI 1.1 をサポートするには、バージョン >=3.0が必要であることに注意してください。

それがあなたの前進に役立つことを願っています。

于 2013-10-14T13:10:42.903 に答える