ブログを書くと、友達などに知らせる為に、TwitterやFacebookでお知らせするワケですが、いちいち手で書き込むのも面倒くさい。
面倒くさい事は自動化すればいいので、とりあえずTwitterに自動投稿してみたいと思った。
Twitterの自動投稿するのを「bot(ボット)」っていうんですが、今まではあまりツイートしなかったんで、見向きもしてませんでしたが、今回調べて、「こんなに簡単なのか!!」というぐらい簡単だったので、
メモしておきます。
bot用サーバーを準備する
これは基本なので、webサーバーを用意しましょう。
自宅にPC1台しかない人は、下記のどれかを行ってください。
・AWSでエラスティックを立てる
・ZAMPかMAMPをインストールする
とりあえず、PHPが動く環境を作りましょう。
※ターミナルでアクセスできるようにしておいてね。
Twitterのアカウントを準備
今現在自分の使っているアカウントでもいいんですが、テストしたりするので、テスト用を作ることをオススメします。
※いちいちサインアウトして、操作するのが面倒くさい人は、別のブラウザを立ち上げて操作すると、いちいちログアウトしなくてすむぞ!
https://twitter.com/
Twitterアカウントのアプリkeyを取得しよう
1. Apprication Managementページへアクセス
https://apps.twitter.com/
2. 「Create New App」ボタンを押す
3. 必要情報を入力
4.「Permissions」に移動して、「Read and Write」を選択
5.「Key And Accrss Token」に移動
6.「Token Action」ボタンを押す
必要情報をメモる
下記key情報をメモっておいてください。
ただ、このページにくれば、何度でも確認できますけどね。
Consumer Key (API Key)
Consumer Secret (API Secret)
Access Token
Access Token Secret
Githubから、ライブラリをcloneする
事前にサーバーにターミナルでSSHログインしておいてください。
https://github.com/abraham/twitteroauth
任意の場所に、cloneする。
$ git clone https://github.com/abraham/twitteroauth.git
プログラムを追加する
「bot.php」を作成
※階層は以下になっている事。
/
┣ tweetoauth/
┗ bot.php
「bot.php」
<?php
//CLIの場合argvをREQUESTに変換する。
if(!isset($_SERVER['SCRIPT_URI']) && isset($argv)){
for($i=0,$c=count($argv);$i<$c;$i++){
if(!$argv[$i]){continue;}
//各クエリの分解
$q = explode("=",$argv[$i]);
if(count($q)<2){continue;}
if($q[0]!=''){
//requestに格納
$key = $q[0];
$val = join("=",array_slice($q,1));
$_REQUEST[$key]=$val;
}
}
}
require 'twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
$consumer_key = "aLrTI6JhcLKob0YbqCJHiFeDr";
$consumer_secret = "j1gyzD56c4Vbd0NZTdZeEe8oB2TIwjPbdv63Vn28hoyWaII2eD";
$access_token = "11363242-R3KcruUmQI9CMNYsj1VaLHw1wAmytm24pNHMCkAPP";
$access_token_secret = "ENSQ2oFfzPWfQ19VA5zSWbKOJardmZytctmCb11Xf1Uxl";
$connection = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
//投稿
$statues = $connection->post("statuses/update", array("status" => "Hello world !!"));
echo "finish!"."\n";
コマンドを叩いて確認する
$ php bot.php
自分のツイートに
「Hello world !!」が表示されたでしょうか?
とりあえず、今はベタ投稿ですが、bot.phpのプログラムを変更して、お好きな記事を投稿する準備ができました。
あとは、サーバーのcronに、起動する予定を登録して、ガンガンアップしましょう。
ただ、twitterは、ツイートに上限数があるので、気をつけましょうね。
次回は「応用編」で、このbotをもう少しツールっぽくします。
0 件のコメント:
コメントを投稿