「部門/PHP/RSSを読んでTwitterに投稿する」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
東大物理学専攻の講義情報のRSSを
http://www.s.u-tokyo.ac.jp/ja/current/lecture.html?department=grad-phys
から取ってきて、Twitterに投稿するbot(というほどでもない)を4月につくったのだけど、
http://twitter.com/#!/utphys
twitterfeedやGoogleのなんとかとかを使おうとしてもうまくいかないので、仕方ないから自分で書いた。なぜか使い慣れたRubyではなく、PHPで書いてみた。まあGoogle先生に聞いてコピペしただけだが。
-Oauth認証には[[abraham/twitteroauth · GitHub>https://github.com/abraham/twitteroauth]]を使わせていただいて、Twitterへの投稿の部分は[[PHP+OAuthでTwitter - SDN Project>http://www.sdn-project.net/labo/oauth.html]]から頂きました。
-重複して同じエントリーを投稿しないよう、guidを取得してguid.txtというファイルに書き込んでる。
*ソース
#highlight(PHP,linenumber){{
<?php
// twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください
require_once("abraham-twitteroauth-052b55e/twitteroauth/twitteroauth.php");
// Consumer keyの値
$consumer_key = "こんしゅーまーきー";
// Consumer secretの値
$consumer_secret = "こんしゅーまーしーくれっと";
// Access Tokenの値
$access_token = "あくせすとーくん";
// Access Token Secretの値
$access_token_secret = "あくせすとーくんしーくれっと";
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$out_file =fopen("guids.txt","a+");
$i=0;
$guid=array();
$title=array();
$desc=array();
$rssdata = simplexml_load_file("http://www.s.u-tokyo.ac.jp/feed/lecture.xml?department=grad-phys");
foreach ($rssdata->channel->item as $rssrow) {
// print "【";
// print $rssrow->title;
// print "】";
// print $rssrow->description;
// print "http://www.s.u-tokyo.ac.jp/lecture/index.html\n";
$guid[$i] = "$rssrow->guid";
$title[$i] = "$rssrow->title";
$desc[$i] = "$rssrow->description";
$i=$i+1;
}
// var_dump($guid);//配列の中身を表示
$i=0;
while (isset($guid[$i])){
while ($guid[$i] != NULL){
// var_dump($guid[$i]
rewind($out_file);//ファイルポインタを最初に戻す http://www.standpower.com/php_analyz.html
while (!feof($out_file)){
$fileline = fgets($out_file);
// print "$fileline";
// print "$guid[$i]\n";
if ($fileline == "$guid[$i]\n"){
// print "break!!\n";
break 1;
}
if (feof($out_file)){
fputs($out_file,"$guid[$i]\n");
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"【$title[$i]】$desc[$i] http://www.s.u-tokyo.ac.jp/lecture/index.html"));
}
}
$i=$i+1;
}
fclose($out_file);
?>
}}
*参考にしたサイト
-[[PHP+OAuthでTwitterのBotを作ってみる - SDN Project>http://www.sdn-project.net/labo/twitter_bot.html]]
#right(){(OK)}
#comment_num2(below,num=10)
東大物理学専攻の講義情報のRSSを
http://www.s.u-tokyo.ac.jp/ja/current/lecture.html?department=grad-phys
から取ってきて、Twitterに投稿するbot(というほどでもない)を4月につくったのだけど、
http://twitter.com/#!/utphys
twitterfeedやGoogleのなんとかとかを使おうとしてもうまくいかないので、仕方ないから自分で書いた。なぜか使い慣れたRubyではなく、PHPで書いてみた。まあGoogle先生に聞いてコピペしただけだが。
-Oauth認証には[[abraham/twitteroauth · GitHub>https://github.com/abraham/twitteroauth]]を使わせていただいて、Twitterへの投稿の部分は[[PHP+OAuthでTwitter - SDN Project>http://www.sdn-project.net/labo/oauth.html]]から頂きました。
-重複して同じエントリーを投稿しないよう、guidを取得してguid.txtというファイルに書き込んでる。
*ソース
#highlight(PHP,linenumber){{
<?php
// twitteroauth.phpを読み込む。パスはあなたが置いた適切な場所に変更してください
require_once("abraham-twitteroauth-052b55e/twitteroauth/twitteroauth.php");
// Consumer keyの値
$consumer_key = "こんしゅーまーきー";
// Consumer secretの値
$consumer_secret = "こんしゅーまーしーくれっと";
// Access Tokenの値
$access_token = "あくせすとーくん";
// Access Token Secretの値
$access_token_secret = "あくせすとーくんしーくれっと";
// OAuthオブジェクト生成
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
$out_file =fopen("guids.txt","a+");
$i=0;
$guid=array();
$title=array();
$desc=array();
$rssdata = simplexml_load_file("http://www.s.u-tokyo.ac.jp/feed/lecture.xml?department=grad-phys");
foreach ($rssdata->channel->item as $rssrow) {
// print "【";
// print $rssrow->title;
// print "】";
// print $rssrow->description;
// print "http://www.s.u-tokyo.ac.jp/lecture/index.html\n";
$guid[$i] = "$rssrow->guid";
$title[$i] = "$rssrow->title";
$desc[$i] = "$rssrow->description";
$i=$i+1;
}
// var_dump($guid);//配列の中身を表示
$i=0;
while (isset($guid[$i])){
// while ($guid[$i] != NULL){
// var_dump($guid[$i]
rewind($out_file);//ファイルポインタを最初に戻す http://www.standpower.com/php_analyz.html
while (!feof($out_file)){
$fileline = fgets($out_file);
// print "$fileline";
// print "$guid[$i]\n";
if ($fileline == "$guid[$i]\n"){
// print "break!!\n";
break 1;
}
if (feof($out_file)){
fputs($out_file,"$guid[$i]\n");
$req = $to->OAuthRequest("http://api.twitter.com/1/statuses/update.xml","POST",array("status"=>"【$title[$i]】$desc[$i] http://www.s.u-tokyo.ac.jp/lecture/index.html"));
}
}
$i=$i+1;
}
fclose($out_file);
?>
}}
*参考にしたサイト
-[[PHP+OAuthでTwitterのBotを作ってみる - SDN Project>http://www.sdn-project.net/labo/twitter_bot.html]]
#right(){(OK)}
#comment_num2(below,num=10)