2012-05-12 17 views
2

ユーザーがTwitterアカウントを使用してJava Webアプリケーションにサインアップしてログインできるようにします。自分のTwitterアカウントから必要な情報は、名前(名前が提供されていない場合はTwitterのユーザー名)とその電子メールアドレスだけです。TwitterでJava Webアプリケーションの登録と認証に使用する

scribe OAuthライブラリには、an exampleというコンソールアプリケーションからTwitterで認証する方法があります。しかし、私はどのようにこれをWebアプリケーションに適応させるかを理解できません。私はこのようなコードが含まれているので、この例をそのまま使用することはできません。

Scanner in = new Scanner(System.in); 

Webappでは動作しません。また、認証が完了すると、ユーザーの名前と電子メールアドレスを取得する方法もわかりません。

誰かがJava WebアプリケーションからTwitterで認証する(OAuthを使用して)、ユーザーの名前と電子メールを取得する方法の完全な例を教えてもらえれば嬉しいことです。この例では必ずしもスクライブを使用する必要はありませんが、コードを少なくするほど自分自身を書く必要があります。

+0

私はそのライブラリを知っていませんが、アクセストークンを取得した後にユーザーの詳細を取得するAPI呼び出しは[verify_credentials]です(https://dev.twitter.com/docs/api/1/get/account/ verify_credentials)。しかし、ユーザーのメールを含むようには見えません。私はあなたがTwitterからそれを得ることができないと思います - おそらく彼らはあなたの代わりにそれらをつぶすことを期待! – Rup

+0

スキャナ - 認証コールバックのテキスト入力を受け付ける例です。その代わりに、コールバックURLを指定する必要があります(代わりにFacebookの例を参照)。これは、Twitterの認証メカニズムからこの値を受け取ります。 – Rup

+0

とにかく登録時にメールアドレスを尋ねることをお勧めします。 Twitter APIから電子メールアドレスを取得できる場合は、それらの電子メールアドレスフィールドに記入することができますが、依然としてユーザーがそれを変更できるようにする必要があります。サービスによっては、異なる電子メールアドレスを使用する人もいます。たとえば、私はtwitterの[email protected]を自分のアドレスとして使用することができますが、あなたのサービスでは、フィルタリングの目的で[email protected]になります。 – palto

答えて

1

verifierを受け取るアプリケーションのエンドポイントが必要です。

あなたはOOBの道を行く場合は、例のように、クライアントを手動でエンドポイントへの呼び出しを実行する必要があります:あなたはこのようcallbackを使用する場合は

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

は:

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

Twiiterはコール自体を実行し、ユーザーブラウザをエンドポイントにリダイレクトします。

関連する問題