今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  2. PHPの設定(パスを通す)と動作確認 - Windows10
  3. 日本語環境の設定 - mbstring
  4. エスケープシーケンス - 特殊文字

PHP + OAuthで Twitter botをつくってみよう

当ページのリンクには広告が含まれています。

つぶやく内容が記述されているファイルからランダムに1行を抽出し、それをつぶやくPHPスクリプト(Twitter bot)を作成します。

Twitter App の作成

Twitterへアクセスし、アカウントを作成します。
» https://twitter.com/

twitter-bot-00
Twitterアカウントを作成します。必要なのはメールアドレスだけです。ウィザードに従えば、簡単に作成できるので、アカウント作成の詳細は割愛します。

Twitterアカウントを作成したら、Twitter Developersへアクセスし、Appを作成します。
» https://dev.twitter.com/

twitter-bot-01
右上の「Sing in」をクリックします。

twitter-bot-02
先ほど作成したTwitterアカウントの「Username」「Password」を入力し、「Log in」をクリックします。

twitter-bot-03
ログインに成功すると右上にTwitterのアイコンが表示されるので、それをクリックし「My applications」をクリックします。

twitter-bot-04
クリックすると「My applications」ページが表示されるので、「Create a new application」をクリックし、Twitter Appを作成します。

twitter-bot-05
「Create an application(アプリの作成)」です。以下の項目を入力し、「Yes, I agree」にチェックを入れ、CAPTCHAを入力、「Create your Twitter application」をクリックします。

・Application Details
 Name(アプリの名前)
 Description(アプリの詳細)
 Website

twitter-bot-06
アプリが作成されました。上部タブメニュー「Settings」をクリックします。

twitter-bot-07
ここではTwitter botの作成を想定しているので、「Application Type」の「Read and Write」を選択し、「Update this Twitter application's settings」をクリックします。

twitter-bot-08
上部タブメニューの「Details」をクリックします。

twitter-bot-09
「Create my access token」をクリックします。

twitter-bot-10
以下の4つの値をコピペし、メモ帳などのテキストファイルに保存しておきます。Twitter botの作成に必要になります。

・Consumer key
・Cosumer secret
・Access token
・Access token secret

PHPスクリプト

ファイル(list.txt)から1行をランダムに抽出し、それをつぶやくスクリプトを作成します。まず、GitHubへアクセスし、TwitterOauthのPHPスクリプト(abraham/twitteroauth)をダウンロードします。» https://github.com/abraham/twitteroauth

先ほどコピペした4つの値「Consumer key」「Cosumer secret」「Access token」「Access token secret」を以下のスクリプトの変数に記述し、「twitter-bot.php」というファイル名で保存します。

#!/usr/bin/php
<?php
// OAuthスクリプトの読み込み
require_once('twitteroauth/twitteroauth.php');

// Consumer key
$consumer_key = "XXXXXXXXXXXXXXXXXXXXX";
// Consumer secret
$consumer_secret = "YYYYYYYYYYYYYYYYYYYYYYYYYYYY";
// Access token
$access_token = "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ";
// Access token secret
$access_token_secret = "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV";

// ファイルの行をランダムに抽出
$filelist = file('list.txt');
if( shuffle($filelist) ){
  $message = $filelist[0];
}

// つぶやく
$connection = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); 
$req = $connection->OAuthRequest("https://api.twitter.com/1.1/statuses/update.json","POST",array("status"=> $message ));
?>

スクリプトファイルの構成は以下の通りです。

twitter-bot.php
list.txt
twitteroauth/twitteroauth.php
twitteroauth/OAuth.php

これで、Twitter bot のPHPスクリプトは作成完了です。

Cronの設定

スクリプトを自動で、定期的に実行するために「Cronの設定」をします。ここでは当サイトで利用しているレンタルサーバー「エックスサーバー」でのCron設定方法を紹介します。

※ VPS(仮想サーバー)などのLinux環境の場合は「crontabコマンド」を使いましょう。

まず、FTPクライアントでPHPスクリプトをサーバーの「script」ディレクトリへアップロードします。

/home/サーバーID/ドメイン名/script/

次にファイルのパーミションを変更します。

パーミション ファイル名
700(rwx------) twitter-bot.php
600(rw-------) list.txt
700(rwx------) twitteroauth/twitteroauth.php
700(rwx------) twitteroauth/OAuth.php

 

cron-01
次にサーバーパネルにログインし、「Cron設定」をクリックします。

cron-02
Cron設定です。「Cronの追加」をクリックします。

cron-03
設定項目を入力し、「Cronの追加」をクリックします。ここでは毎日10時00分と14時00分にPHPスクリプトを実行するように設定しています。

00
時間 10,14
*
*
曜日 *
コマンド /home/***/script/twitter-bot.php
コメント Twitter bot

 

cron-04
Cronの設定内容を確認し、問題なければ「CRONの追加」をクリックします。

cron-05
Cronの設定が完了しました。「CRONの一覧」をクリックします。

cron-06
設定したCronの内容を確認し、変更がある場合は「変更」をクリックし、設定を変更します。また、Cron結果の通知アドレスも設定できるので、必要であれば設定しましょう。

公式ページ ➠ エックスサーバー

サンプルコード の人気記事

  1. PHPサンプルコード集
  2. PHP + OAuthで Twitter botをつくってみよう

関連記事(一部広告含む)