##概要
Twitter の bot をつくってみようと、 TwitterOAuth をつかって、PHPからツイッターにツイートする、というのを
http://webkaru.net/php/twitter-bot/
http://qiita.com/rana_kualu/items/357a031c0453a3538ad3
http://qiita.com/ltd/items/cb25853cabbaf98e456c
などを参考にやってみようとしたら、意外とそのまま動かなかったので、まとめます。
※上記記事が間違っているのではなく、以前から何か仕様がかわったのだろう、という仮定から2015年2月版とつけました。
##準備
###twitterのアカウント作る
省略
###開発サイトでアプリケーションを作る
上記記事などで紹介されている
https://dev.twitter.com/
にアクセスすると、よくわからなくて迷う。。。
https://apps.twitter.com/
にアクセスするのが正解。
「Create New App」からアプリ作成。(キャプチャは1つ作ってあります。)
・Consumer Key
・Consumer Secret
・Access Token
・Access Token Secret
の4つが必要になるが、これはたいして迷わずつくれるので、ここでは省略。
1点注意としては、デフォルトで、Access level が「Read Only」になっているが、これだとツイートできないので、「Read and Write」に変更する
##PHPコード
###TwitterOAuthのダウンロード
https://github.com/abraham/twitteroauth
このライブラリをまるごとダウンロードする。
Gitとかよくわからなくても、右側の「Download ZIP」ボタンからダウンロードすればOK
ダウンロードしたファイルを解凍すると、「twitteroauth-master」というフォルダ名なので、「twitteroauth」にリネーム
─ tweettest.php ←これからつくるファイル
─ [twitteroauth] フォルダ
└ autoload.php など
という階層になるようにする。
###ツイートするコード
上記フォルダ構造とした場合の tweettest.php のコードです。
<?php
// OAuthライブラリの読み込み
require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
//認証情報4つ
$consumerKey = "XXXXXX";
$consumerSecret = "XXXXXX";
$accessToken = "XXXXXX";
$accessTokenSecret = "XXXXXX";
//接続
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
//ツイート
$res = $connection->post("statuses/update", array("status" => "テストメッセージ"));
//レスポンス確認
var_dump($res);
これでうまくいきました。
ライブラリの読み込みあたりが、
require_once('twitteroauth/twitteroauth.php');
となっている記事が多いのですが、そもそもこんなファイルがないので、仕様変わったのではないかと思っています。
あと、連続してまったく同じテキストをツイートするとはじかれるようなので、上記コードのまま何度も実行しているとうまくいかなくなるかもしれません。
上記だけできれば、ランダムにツイート文言選んで、cron 実行、という感じで bot完成するかと。