ソースを表示
TwitterAPI
のソース
移動:
案内
,
検索
[http://twitter.com/ twitter]にアクセスするツールを作るにあたって必要な [http://dev.twitter.com/ twitterAPI] に関する情報のメモ。 ==twitterAPI== (stub) ==BASIC認証== BASIC認証でtwitterAPIに手っ取り早くアクセスする方法は、[http://curl.haxx.se/ cURL]を使うこと。 :ただし、BASIC認証を用いたtwitterAPIへのアクセスは2010/6/30をめどに停止されるというアナウンスがされており、'''今後BASIC認証は使用できなくなる'''ことには注意が必要だ。 - [[利用者:JUD|JUD]] 2010年5月27日 (木) 14:01 (JST) :*[http://www.itmedia.co.jp/enterprise/articles/1004/28/news012.html TwitterのBASIC認証廃止、(略) - ITMedia/西尾泰三氏+twitter丹羽氏] ===解説=== *[http://curl.haxx.se/docs/manpage.html manpage of cURL] *[http://zaurus.catstar.org/archive/curl_manual_ja.html Manual-cURL 日本語訳] ===実装=== cURLのBASIC認証設定を使えば、頭を使うところはほとんどない。 $URL = "http://twitter.com/statuses/friends_timeline.xml?count=20"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $URL); curl_setopt($ch, CURLOPT_USERPWD, $name.":".$password); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $TM = curl_exec($ch); curl_close($ch); ==OAuth== OAuthは、twitterが推奨する認証方式。twitterに対するアクセス権を他サイトやアプリに委譲することで、BASIC認証を使用した際に問題となる『パスワードそのものをtwitter以外のサイトに渡すリスク』を回避するためのもの、と解説されることが多い。 ===解説=== 詳細の解説はいつもどおりWikipediaが無駄に詳し・・・いと思ったらあんまり詳しくないけど、とりあえずおいておく。 *[http://ja.wikipedia.org/wiki/OAuth ja.wikipedia/OAuth] OAuthの仕組みについては真武信和氏の解説がある。 *[http://gihyo.jp/dev/feature/01/oauth ゼロから学ぶOAuth - 技術評論社] PHPで使うための解説については[http://www.msng.info/ 頭ん中]の解説が比較的わかりやすい。 *[http://www.msng.info/archives/2010/01/twitter_api_oauth_with_php.php PHPでTwitter APIのOAuthを使う方法まとめ - 頭ん中] *[http://www.msng.info/archives/2010/02/sign_in_with_twitter.php PHPで「Sign in with Twitter」を実装する方法 - 頭ん中] 認証関連技術について日本語で詳しい解説があまりない、という例はOAuthにも当てはまっているわけだが、それにしても少ない。しかもいろいろな解説があって、実際にやってみるまではどれくらいの手間がかかるのかよくわからないという現状。というのも、最終的なアクセス権はOAuthでは「AccessToken/AccessTokenSecret」であるわけだけど、これを手に入れるまでの方法が何種類かあるというのがその理由のひとつ。 ===xAuth=== OAuthでは本来2-legs、前述の解説サイトの通りProviderにユーザを誘導し、アクセス許可後に戻ってきてもらう方法が望ましいが、ITMediaの記事にあるように携帯電話(Cookieに対応していないハードがあったり、描画能力の問題で認証すらおぼつかないこともある)などでは『xAuthは例外的な対応』としながらも1-legでのアクセス方法を使うことができる。 ====概要==== OAuthでアクセスするにはは最終的に以下の4つのキー・トークンが必要となる。 *Consumer Key *Consumer Secret *Access Token *Access Token Secret 本来コンシューマはConsumer Key/Secretを持ち、都度Providerから取り寄せるRequestTokenをもとに最終的にAccess Token/Secretを獲得するのが本筋である。しかしその場合、ユーザはProvider(ここではおそらくtwitter)の認証画面を表示するためにセッション管理をせねばならず、そうなるとcookieを保持できないブラウザでは不可能になってしまう。そのため、AccessTokenを取得したら保持しておき、RequestTokenを経由してAccessTokenを取得する作業を毎回は行わないようにする手法が'''xAuth'''である。 ====影響==== *AccessToken/Secretはパスワードにより変化らしい(検証中)。よって、パスワードを変更した後はAccessTokenの再取得をする必要がある。 *AccessToken/Secretを常に(ユーザに紐付けるなどして)保持しているため、安全性に劣る。 ===ライブラリ=== 公開されているライブラリについてはいくつかある。 ====twitteroauth==== abraham氏が作成してGitHubにて公開している'''twitteroauth'''は、xAuthでアクセスするためのライブラリ。ConsumerKey/SecretとAccessToken/Secretを全て予め用意して、完全なアクセス権をアプリに与える最も簡単な手段。 *[http://github.com/abraham/twitteroauth twitteroauth - github] twitteroauthのコアはtwitteroauth.phpで、OAuth.phpと2ファイルでtwitterとのOAuthアクセスをPHPスクリプトに提供している。このライブラリを使用して通信するためにはtwitterに登録した4つの情報が必要になっている。これら情報はtwitterやdev.twitterから取得してくるわけだが、その保持情報は呉々も漏らさないようにしなくてはならない。 *Consumer Key *Consumer Secret *Access Token *Access Token Secret [[Category:twitter]]
TwitterAPI
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
TOP
Portal
RecentChanges
JUDSTYLE.jp
ツールボックス
リンク元
関連ページの更新状況
特別ページ