JavaでTwitterをOAuth認証して使えるTwitter4Jとは:クラウドとフレームワークで超簡単ケータイ開発(2)(1/3 ページ)
数年前に比べケータイ向けサービス構築を支援するフレームワークやノウハウがたまってきて、そして無料または、格安でサービスを公開できる仕組み(クラウドやVPSなど)も普及している今こそ、ケータイ向けサービス開発を始めるチャンスではないでしょうか
携帯端末は、何気なく“つぶやく”のに最適!
前回の「Google App EngineとSlim3とMobyletで始める携帯Web入門」では、Javaのケータイ向けサービス開発を簡単にするクラウド環境とフレームワークなどを紹介し、開発環境を構築して動かしてみました。数年前に比べ、今ケータイ向けサービス構築が容易になっていることが確認できたかと思います。
携帯端末は、いつでもどこでも触れるため、つぶやくためのデバイスとして最適です。そこで今回は、ケータイからTwitterを操作する機能を実装してみましょう。
TwitterにおけるOAuth認証の流れ
Twitterと連携するアプリケーションを作成する場合、Twitterとアプリとユーザーの3者が、以下のフローで、OAuth認証を行う必要があります。
- ユーザーがWebアプリにアクセス
- アプリがTwitterから、Request Tokenを取得
- Twitterのユーザー認証ページにリダクレト
- ユーザーがTwitterにログインし、Webアプリを許可
- TwitterがAccess Tokenを発行し、Webアプリのページにリダクレト
今回、Twitter連携するアプリはケータイ用Webアプリですが、PC上のWebブラウザでOAuth認証を行い、後述のAccessTokenを取得する必要があります。ケータイ用Webアプリでは、そのAccessTokenを使用してTwitterを連携します。そのため、今回は、OAuth認証用のWebアプリも作成します。
またTwitterには、「xAuth」という認証方式も用意されています。この認証を使用すると、Webアプリ側でAccessTokenを取得でき、Twitterのページに遷移して、ユーザーに許可させる必要がありません(図1の3番と4番)。
ただし、これをするためには、Twitterから許可をもらう必要があるため、今回は使用しません。OAuth認証の詳細については、以下の記事も参照してください。
Twitter APIを利用するための設定
まずは、APIを利用するためのTwitterアカウントを作成しましょう。すでにアカウントを持っている方は、そちらをご利用ください。
次回で、ツイート(※注意)した場所をGoogle MAPで表示させるために、ツイートに位置情報を付与するように設定しておきます。
※注意:ツイートとつぶやきの使い分けについてこの記事では、「ツイート」のメッセージを「つぶやき」として扱っていいます。
Twitterにログインし、設定画面から、以下のように「あなたのツイートに位置情報を付与」のチェックボックスを選択して、保存してください。
次に今回作成する携帯サービスをTwitterに登録します。「Twitterアプリケーション」にアクセスしてください。
[新しいアプリケーションを登録する]ボタンを押下すると、以下の画面になります。
以下の項目を入力して、[アプリケーションを登録する]ボタンを押下してください。
- [アプリケーションのウェブサイトURL]作成するサービスのURLを入力作成するサービスのURLを入力
- [アプリケーションの種類]「ブラウザアプリケーション」を選択「ブラウザアプリケーション」を選択
- [コールバックURL]
OAuth認証時(後述)にコールバックされるURL。ソースコードからコールバックされるURLを指定できるため、ここでは「アプリケーションのウェブサイトURL」と同じURLを入力 - [Default Access type]アプリケーションからツイートするため、「Read & Write」を選択アプリケーションからツイートするため、「Read & Write」を選択
登録後、アプリケーションの詳細情報を確認し、「Consumer key」「Consumer secret」をメモしておきます。後ほど、Twitter認証に使用します。
Java用のTwitterライブラリ「Twitter4J」の設定
本稿では、Java用のTwitterライブラリである「Twitter4J」を使って、Twitterからタイムラインを取得したり、つぶやいたりする機能を実装します。
Twitter4Jの設定を行いましょう。上記ページから最新版をダウンロードしてください(原稿執筆時の最新は「twitter4j-2.1.7-SNAPSHOT.zip」)。
ダウンロードしたファイルを解凍し、「twitter4j-core-2.1.7-SNAPSHOT.jar」を「war/WEB-INF/lib」に配置し、ビルドパスを設定しておいてください。
次ページ以降、このTwitter4Jを使って3つの機能を実装していきます。
Copyright © ITmedia, Inc. All Rights Reserved.