今回、改めて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を作成することができますね。
ライブラリを活用して、ツイート以外にも何ができるのか、少し掘り下げてみたいと思います。
コメントする