S-JIS[2010-09-11/2010-09-19] 変更履歴
Twitterへアクセスする際は、Twitterにログイン(認証)する必要がある。
Twitterへ接続するアプリケーション(クライアントソフト)も、それを使用する対象ユーザーでログインする必要がある。
|
ユーザーID・パスワードを入力してもらい、それをアプリがそのままTwitterへ渡してログインするのが、Basic認証。
一番手軽だが、2010年8月31日に廃止されて使えなくなった。
Basic認証の代わりに使われるのがOAuth。(自分は「オーオース」と読んでいる)
ユーザーがパスワードを入力するのはTwitterに対してなので、アプリ側は直接知ることが出来ない。なので安全。ということらしい。
OAuthを使う為には、“OAuthを使うアプリケーション”をTwitterに事前に登録しておく必要がある。
(そのアプリケーション専用の認証情報(キー等)を発行してもらう)
OAuthの登録自体はすぐ済む。
アプリ自体が出来ていなくても、事前に申請できる。審査といったものも特に無い。
項目 | 説明 | 値の例 |
---|---|---|
アプリケーション名 | アプリの名前 自分のアプリ一覧に表示される。 また、このアプリを使ってツイートを投稿した際、投稿元アプリの名前(「API」の代わり)として使われる。 後からアプリ名を変えると、タイムラインで表示される投稿元アプリ名も変わる。 |
API勉強用クライアント |
アプリケーションの説明 | アプリの説明 | Twitter APIの実験用 |
アプリケーションのウェブサイトURL | 省略不可。 「アプリのダウンロードが出来るURL」とか書いてあるけど、公開するつもりの無いアプリならそんなの無いよな〜。 とりあえず自分のHPのURLでも入れておけばいいようだが。 このアプリを使ってツイートを投稿した際、Webでツイートを見ると、投稿元アプリ名のリンクとしてこのURLが使われるようだ。 なのであまり変なものは入れない方が良さそう^^; |
http://〜.html |
所属会社/団体 | 所属団体と言うより、作者名と言った方がいい気がする。 省略可能ではあるが、実際に認証するときの画面で表示されるので、入力しておく方が良さそう。 |
ひしだま |
アプリケーションの種類 | 「クライアントアプリケーション」か「ブラウザアプリケーション」のどちらかを選ぶ。 「クライアント」の場合、「コールバックURL」の入力は不要となる。 |
・クライアント |
コールバックURL | 「クライアントアプリケーション」の場合は入力不要。 「ブラウザアプリケーション」の場合は必須。[2010-09-19] なお、「localhost:8888」を指定する事は出来ないようだ。 |
http://〜 |
Default Access type | 「Read & Write」か「Read-only」を選ぶ。 | ・Read & Write |
アプリケーションのアイコン | 後から変えられるので、とりあえず何も入力しなくてよい。 |
項目 | 説明 | |
---|---|---|
ページ全体 | タイトル | 「自分が登録したアプリ名 Settings」 |
@Anywhere Settings | API key | |
Registered Callback URL | 「クライアントアプリケーション」の場合は値は表示されない。 | |
OAuth 1.0a Settings | Consumer key | 英数字の羅列。 |
Consumer secret | 英数字の羅列。 | |
フォローをリクエストしました。 | リクエストトークンを送るためのAPI(URL)か? | |
Access token URL | アクセストークンを送るためのAPI(URL)か? | |
Authorize URL | 認証するためのAPI(URL)か? | |
General | アクセスレベル | 「読み書き」「読取専用」 |
Twitterアプリケーションページを開くと、自分が登録しているアプリケーションの一覧が表示される。
アプリケーション名をクリックすると、登録された内容を確認できる。
「Edit Details」をクリックすると、登録された内容を変更できる。見た感じ、登録した際に入力した全項目を変更できるようだ。
アプリケーションの削除もここから出来そう。
OAuthによる認証の実行例。
まず、アプリケーションは認証用の「https://twitter.com/oauth/authorize?oauth_token=hogehogeufufu
」という感じのURLを生成し、ユーザーはブラウザーを使ってそこにアクセスしなければならない。
(「oauth_token=
」の後ろの部分はConsumer keyやConsumer
secret等を使って生成する。毎回文字列は変わる)
クライアントアプリケーションの場合、ユーザーは別途ブラウザーを起動してそのURLにアクセスする必要がある。
ブラウザアプリケーションの場合は(既にブラウザー上で動いている訳だから)そのURLにリダイレクトするだけでいい。
表示される画面は以下のようなもの。
「許可する」をクリックすると、クライアントアプリケーションの場合は暗証番号が表示される。
この暗証番号をクライアントアプリケーションに入力すると、アプリケーションがそのユーザーとしてTwitterにアクセスできるようになる。
→Twitter4JでOAuth認証を使うクライアントアプリのコーディング例
→Twitter4JでOAuth認証を使うGoogleAppEngine(Slim3)のブラウザアプリのコーディング例