Twitterを100倍楽しむためのbot開発基礎講座

第3回 実際にTwitter botを作ってみる

この記事を読むのに必要な時間:およそ 4 分

前回Twitter botを作るための基礎知識としてTwitter APIについて説明しました。今回は実際にプログラムを組んでみましょう。ここでは例としてPHPでの発言方法を紹介します。

Twitter botに発言させてみる

まずはPHPの標準機能を使って発言をしてみます。Twitter用ライブラリを使った発言については後ほど解説します。

<?php
// curlリソースの作成
$curl = curl_init();

// ユーザ名
$username = "(ユーザ名を設定)";

// パスワード
$password = "(パスワードを設定)";

// 発言する文字列を設定する
// プログラムの文字コードがUTF-8の場合はこのまま
$status = "日本語のテスト";
// プログラムの文字コードがSJISの場合はUTF-8に変換
//$status = mb_convert_encoding($status, "UTF-8", "SJIS");

// 発言用のURLを設定(TwitterのAPIドキュメントを参照)
$url = "https://api.twitter.com/1/statuses/update.json";

// POSTフィールドを作成
$postData = array("status" => $status);

// 認証情報を設定
$authData = "$username:$password";

// curlに各種パラメータを設定する
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $authData);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect:"));

$response = curl_exec($curl);
$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if($http_code == "200" && !empty($response)) {
  print "ok\n";
} else {
  print "ng\n";
  print curl_error($curl);
}

curl_close($curl);
?>

上記のうち,ユーザ名とパスワードは用意しておいたアカウント情報に置き換えてください。これを,たとえばtest.phpというファイル名で保存し,PHPコマンドから実行します。

php test.php

okと表示されたでしょうか?ユーザ名として指定したアカウントで正しく発言できているか確認してみましょう。

さて,今回はbotに発言させるためにユーザ名/パスワードを直書きしてBASIC認証を用いましたが,実はこの方法は2010年6月30日で使えなくなります。今後使えなくなってしまいますので,新しい認証方式であるOAuthを用いた発言を紹介します。

また,合わせてOAuthを含めて簡単に発言ができるPHP用のTwitterライブラリも紹介します。

OAuthとは

OAuthとは,Twitter APIでも使われている認可情報を受け渡すためのプロトコルです。OAuthの詳しい説明は割愛しますが,TwitterではBASIC認証に代わる認証方式として使用することが推奨されています。OAuthに関する詳しい説明はゼロから学ぶOAuthが参考になります。

OAuthアプリを登録する

Twitter APIでOAuthを利用するためには,アプリ登録が必要となります。Twitter botはアプリではないのですが,一種のアプリとみなして登録が必要です。 複数のTwitter botを作った場合でもアプリ登録は1つだけで大丈夫です(bot毎に分けることも可能です)。

では実際にOAuthアプリを利用してみましょう。まずhttp://twitter.com/appsにアクセスしてください。

図1 Twitterアプリケーション

図1 Twitterアプリケーション

図1のようなTwitterアプリケーションの画面が表示されたら,「新しいアプリケーションを追加 ≫」のリンクをクリックします。すると図2のような画面が表示されます。

図2 必要項目の入力画面

図2 必要項目の入力画面

必須項目について説明します。必須項目以外は,とくに変更する必要はありませんのでそのままで大丈夫です。これらの入力情報は後から修正が可能です。

アプリケーション名 Twitterの発言と一緒に「(アプリケーション名)から」と表示されます。
アプリケーションの説明 必須項目ですが,bot用でしか使わないのであれば,適当な入力で構いません。
アプリケーションのウェブサイトURL Twitterの発言と一緒に表示される「(アプリケーション名)から」をクリックした時のリンク先になります。
アプリケーションの種類 Twitter botで利用する場合はクライアントアプリケーションを選択してください。
Default Access Type プログラムからbotに発言させる場合はRead & Writeを選択します。

最後にCAPTCHAを正しく入力して保存を押します。

入力内容に不備がなければ,Application Detailsが表示されます。

図3 Application Details

図3 Application Details

このうち,

  • Consumer key
  • Consumer secret

が今回のTwitter botのプログラム作成に必要となる情報です。

これらの情報はhttp://twitter.com/appsにアクセスすれば再度確認できます。

著者プロフィール

松鵜琢人(まつうたくと)

1980年生まれの大阪府出身。通信会社に就職後,転職してサーバ管理者兼プログラマーに。よく使う言語はシェルスクリプトとPerl。プラスワンデジタル所属。Gentoo Linux Developerでもある。

コメント

  • ボットつくりについて

    教えていただきたくお願いいたします。07050201328

    Commented : #1  あいクリニック (2010/08/02, 17:39)

コメントの記入