- 1 名前:nobodyさん [2009/09/27(日) 14:15:59 ID:Dz08qoo4]
- 見当たらなかったので立ててみた
[公式] twitter.com/ [Twitter 開発ブログ 日本語版] twitterjp.blogspot.com/ *どの言語でもOKですがソースを書く際は何の言語なのかも記載してください。 *初心者のために、なるべくぶつ切りのソースではなく全体的に載せてほしいです。
- 891 名前:nobodyさん mailto:sage [2010/01/09(土) 22:17:16 ID:???]
- きちんと検証してないけど、こんな感じで動かないかな?
<?php $username = "1111"; $key = "3333"; $consumer_key = "4444"; $consumer_secret = "5555"; $access_token = "6666"; $access_token_secret = "7777"; $filename = "data/data.dat"; $host = "twitter.com/statuses/mentions.xml"; $fp = @fopen($filename,'rb') or die("ファイルが開けません"); flock($fp, LOCK_EX); $line = fgets($fp, 64); fclose($fp); if(!empty($line)){ $last_id=$line; }else{ $cnt = "1"; } $XML = getObjOAuth($host,$cnt,$last_id,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret);
- 892 名前:nobodyさん mailto:sage [2010/01/09(土) 22:18:02 ID:???]
- >>891の続き
$i = count($XML)-1; $j = 0; while($i >= $j) { $var = $XML->status[$i]->text; $com = ereg_replace("\@$username", "", $var); $id= $XML->status[$i]->id; $reply_name = $XML->status[$i]->user->screen_name; $name = $XML->status[$i]->user->name; $message = serif($reply_name,$name,$com); //かえって来た値がnullじゃない場合のみ投稿する if ($message != null){ tweetOAuth($message,$id,$key,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret); } $i--; } $string = $XML->status[0]->id; if(!empty($string)){ $dat = (string)$string; file_put_contents($filename,$dat,LOCK_EX); } function serif($reply_name,$name,$com){ (省略) }
- 893 名前:nobodyさん mailto:sage [2010/01/09(土) 22:19:03 ID:???]
- >>892の続き
//OAuth経由でTwitterに投稿する function tweetOAuth($message,$id,$key,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret){ require_once("twitterOAuth.php"); $message = mb_convert_encoding($message, "UTF-8","ASCII,JIS,UTF-8,EUC-JP,SJIS"); // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); // TwitterへPOSTする。パラメーターは配列に格納する $req = $to->OAuthRequest("https://twitter.com/statuses/update.xml",array("status"=>$message,"in_reply_to_status_id"=>"$id"),"POST"); } //OAuth経由でTwitterから取得 function getObjOAuth($host,$cnt,$last_id,$consumer_key,$consumer_secret,$consumer_secret,$access_token,$access_token_secret){ require_once("twitterOAuth.php"); // OAuthオブジェクト生成 $to = new TwitterOAuth($host,$consumer_key,$consumer_secret,$access_token,$access_token_secret); // TwitterからGETする if(($cnt != null)&&($last_id != null)){ $req = $to->OAuthRequest($host,array("count"=>$cnt,"since_id"=>$last_id),"GET"); }else if(($cnt != null)&&($last_id == null)){ $req = $to->OAuthRequest($host,array("count"=>$cnt),"GET"); }else if(($cnt == null)&&($last_id != null)){ $req = $to->OAuthRequest($host,array("since_id"=>$last_id),"GET"); }else{ $req = $to->OAuthRequest($host,array(),"GET"); } $req_array = simplexml_load_string($req); return $req_array; } ?>
|

|