CMS構築を目的にPHPをベースとしたWordPress、CakePHPやPEARなどオープンソースを中心に解説しています

今回、改めてPHPのライブラリを使ってTwitter botを作る方法を調べます。
Twitter botと聞くとだいぶ懐かしいような感じもしますが、最新の技術動向もふまえて実装してみます。
PHPライブラリは最近、利用例をよく見かける「TwitterOAuth」を使ってみます。
TwitterOAuth

今回検証した環境は以下のとおりです

PHP 7.0.18
TwitterOAuth 0.7.4

Twitter Appsでアプリ登録

Twitter APIを使ってbotなどを作る場合には、Twitter Appsでアプリ登録を行う必要があります。
Twitter Application Management
※アプリ登録には電話番号で認証済みのTwitterアカウントが必要です

Twitterにログインした状態で上のサイトにアクセスすると、登録してあるアプリ一覧が表示されます。
「Create New App」ボタンをクリックして、新しいアプリを登録します。
アプリ名、アプリ概要、アプリのサイトURLを入力して「Create your Twitter application」をクリックします。

アプリ登録に成功したら、アプリ詳細から「Keys and Access Tokens」のタブに移動して、「Consumer Key」、「Consumer Secret」、「Access Token」、「Access Token Secret」を控えておきます。

composerでTwitterOAuthをインストール

続いてcomposerでライブラリ「TwitterOAuth」をインストールします。

まず、composer.jsonを開いて、以下の内容を追記します。

"require": {
	...
	"abraham/twitteroauth": "0.7.4",
	...
},

composerコマンドを実行して、パッケージをインストールします。

> php composer.phar self-update
> php composer.phar update

venderディレクトリにパッケージが追加されていればインストール成功です。

例えば以下のように、機能を利用するプログラムファイルにオートローダを追加すれば、ライブラリを利用する準備は完了です。

require_once __DIR__ . '/vendor/autoload.php';

ツイートしてみる

それでは実際にライブラリを使用してツイートしてみます。
処理は以下のとおりです。

$twitteroauth = new Abraham\TwitterOAuth\TwitterOAuth(
	"(先ほど取得したConsumer Key)",
	"(先ほど取得したConsumer Secret)",
	"(先ほど取得したAccess Token)",
	"(先ほど取得したAccess Token Secret)");

$result = $twitteroauth->post(
	"statuses/update",
	array(
		"status" => "これはテストツイートです!"
	));

これだけです。非常に簡単ですね。
処理を実行した後に、実際にTwitterアカウントのタイムラインに「これはテストツイートです!」がツイートされていれば成功です。

cronなどで処理を自動実行するようにすれば、botを作成することができますね。

ライブラリを活用して、ツイート以外にも何ができるのか、少し掘り下げてみたいと思います。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search