まあ、有りますよね、二度目。
Fusic2年目仁井です。よろしくお願いいたします。
今回の記事は何にするか悩みました。iPadでゲーム作る記事にするとかダイエットの成功の記事にするとか色々考えたのですが、前回がTwitterでしたので今回も素直にTwitterで行きたいと思います。
なんだかReturnキーが潰れてきた気がしますがそれは気にせずに。ええ。
Twitter API
ツイッターが市民権を得て随分と経ち、それに合わせて様々なツールやアプリケーションが開発されているかと思います。
そんな開発に必須とも言えるのが、このTwitterAPIなんだよ、ジェシー! そうなのね、マイク!
そうなんです。
利用しているものとして想像しやすいのは、Botやクライアントあたりでしょう。
リプライ、リツイート、フォロー、等々。ツイッターの代表的な機能をこれを使うことで自由に利用できます。
それではその導入方法について、簡単に説明させていただきます。
準備編:1
それでは、TwitterAPIを使う準備を。
まずクライアント製作者のアカウントでログインした状態でこのページにアクセスしてください。
作成したクライアントは、この時ログインしているユーザとひもづけられます。
ここで、アプリケーションの登録を行います。
まず「新しいアプリケーションを登録する」をクリック。
必要情報を入力しますが、注意すべきは2点。
・「アプリケーションの種類」は「クライアント」
・「標準のアクセスタイプ」は「Read&Write」
をそれぞれ選択してください。間違えてもあとで修正できますので問題ないです。
特に「標準のアクセスタイプ」を「Read-Only」にすると投稿などができなくなるので注意です。
準備編:2
つづいて、アプリケーション側の準備を。
今回の環境はPHP5.2です。PHPは5以上で「curl」が使える環境であれば問題ありません。
PHP環境が準備できたら今度はここの「Download」からファイルをダウンロードしてください。
ファイルを解凍して、twitteroauthの中の「OAuth.php」と「twitteroauth.php」を取り出してください。この2つのファイルを使用します。
実装編
それでは実装について。
以下のコードを参照してください。
require_once("./twitteroauth.php"); $to = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET); $sendMessage = "さあ、呟いてみませんか"; $req = $to->OAuthRequest('https://twitter.com/statuses/update.xml', 'POST', array('status' => $sendMessage)); header("Content-Type: application/xml"); echo $req; |
このスクリプトを実行すると、自分のアカウントに「さあ、呟いてみませんか」というツイートが投稿されます。
なんとなく、botの姿が見えてきた感がありますね。
ここで肝になるのが、オブジェクトの生成の時に与えている引数です。
CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET
この4つの値は全て、先ほどアプリケーション登録を行ったページから参照することができます。
もう一度先程のページにアクセスします。
すると「現在登録されているアプリケーション一覧」の中に、先ほど登録したアプリケーションが並んでいることと思います。
それをクリックすると、下の方に「Consumer key」と「Consumer secret」の値が。
さらにページ内の「My Access Token」のリンクの先には「Access Token」「Access Token Secret」があります。
この値をそれぞれ引数にあたえるだけです。
これで、Twitter APIを利用したツイートの投稿が可能になりました。
注意点
便利なTwitterAPIですが、注意点もございます。
各機能には、それぞれ制限が設けられています。
例えば、1時間の間に呟ける回数や、フォロー出来る人数など、それぞれに回数制限が存在しています。
オーバーしたりするとアカウントを凍結されてしまうおそれも有りますので、使用の際は十分に注意をしてください。
botを作って、誰彼構わず反応するようにしていると、あっという間に制限数を超えてしまうかも。
ちなみに前回紹介した検索機能は
・1時間に150回
・1日に1000回
の使用制限がIPベースで設けられています。
最後に
APIを使用することで、タイムラインの取得も可能です。
そのなかから、自分に対するリプライや、リツイート等も取得可能です。パラメータの与え方次第で必要な情報をうまいこと集めましょう。
ここまで出来るようになると、Twitterクライアントの作成も不可能ではありません。いえ、私はやりませんが。
こちらのドキュメントの日本語訳が分かりやすく、大変お世話になりました。
いい加減Returnキーの潰れ具合が腹に据えかねて来たので、このへんで筆を置く事と致します。
それでは。クリスマス爆発しろ。仁井でした。