PHP上でOAuth認証によるtwitterAPIが使用できるAPI「abraham-twitteroauth」の
使い方の練習の意味で、コマンドライン上からtweetするPHPスクリプトを書いてみました。
将来的にはbot作成を考えているのでその基礎研究みたいなもんですね。
PHPerの多くの方がこのネタやってますが、基礎は自分でやってみることが大事なのです。
ということで気にせず書きますw
本スクリプトの作成には下記の記事を参考にさせて頂きました。
PHP+OAuthでTwitter
実用! PerlでコマンドラインからTwitter投稿(OAuth対応)
※twitterへのAPI登録等の事前手順は上記リンクを参照して下さい。
動作確認環境 :PHP5.1.6 (--with-curlオプション必須)
使用ライブラリ:twitteroauth0.2.0-beta3
<?php if($argc == 1) { echo "引数がありません。"; exit(); }elseif($argc >= 3) { echo "引数は一つだけです。"; exit(); } if($argv[1] == 'help') { echo "使い方 : tweet [お前のsoul]"; exit(); } require_once('twitteroauth.php'); //OAuth認証用key,tokenの設定 define("consumer_key" , "[登録されたconsumer_key]"); define("consumer_key_secret","[登録されたconsumer_secret_key]"); define("access_token" , "[登録されたaccess_token]"); define("access_token_secret" ,"[登録されたaccess_token_secret]"); $to = new TwitterOAuth(consumer_key, consumer_key_secret, access_token, access_token_secret); //TwitterへPOSTする $req = $to->OAuthRequest("https://twitter.com/statuses/update.xml", "POST", array("status"=>$argv[1])); header("Content-Type: application/xml"); //API実行結果の引数(XML)を表示 echo $req; ?>
スクリプト起動用のshell
#!/bin/bash date >> logfile.log if [ $# -eq 0 ] then echo "引数がありません" exit 1 elif [ $1 = "help" ] then echo "使い方: tweet <お前のソウル>" exit 1 fi php /home/seri/bin/tweet.php $1 >> tweet.log
以上のphpスクリプトとシェルをpathが通ったディレクトリに入れておくと
どっからでも
[shellスクリプト名] [投稿したい内容]
でtweetすることができます。(私の場合は/home/[user名]/binです。)
ちゃんと投稿されました。「こまっつぃー」というのは登録したAP名です。
コマンドラインからツィート出来るからこまっつぃー
・・我ながらセンスが謎です。