twitter bot (CRONによる定期処理)

書籍”公開API活用ガイド”の第10章:twitterの章末に、botをつくるといいよとあったのでやってみた。
定期的につぶやくのは、CRONでphpコマンドを実行することで実現できるみたい。
参考サイトに”twitteroauth”を利用した実装例があり使わせていただいた。


メモ

  • コマンドでphpを実行できる
  • さくらインターネットにターミナルでSSHアクセスする:$ssh アカウントID@ドメイン名
  • CRONはさくらインターネット コントロールパネルでも設定できる
  • Screen Shot 2012-02-01 さくらインターネット CRON設定

$twitter = new TwitterOAuth(
  $consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret
);
$method = "statuses/update";

// 最大3回までリトライを試みる。
$retries = 3;
for($count = 0; $count < $retries; $count++) {

  $date = date("Y/m/d H:i:s");
  $status = sprintf("只今の時刻は%sです。今日もお疲れさまでした。", $date);
  $parameters = array("status" => $status);

  // Twitterに発言をPOST
  $response = $twitter->post($method, $parameters);
  $http_info = $twitter->http_info;
  $http_code = $http_info["http_code"];

  // HTTPコードが200か304で,かつエラーメッセージがなければ成功
  if(
    ($http_code == "200" || $http_code == "304") &&
    !array_key_exists("error", $response)
  ) {
    break;
  }
  // 1秒待つ
  sleep(1);
}

参考サイト

公開API活用ガイド (I・O BOOKS)
公開API活用ガイド (I・O BOOKS)

posted with amazlet at 12.01.24
ZAPA
工学社
売り上げランキング: 149253

関連エントリー

  1. HTTP_OAuthで認可を受けて twitter API (REST API Methods) を使う
  2. twitter API (Search API Methods)
  3. twitter API (REST API Methods) でpublic_timelineを表示
  4. Flickr API
  5. SimpleAPIのWikipedia API
This entry was posted in 未分類 and tagged , , , , . Bookmark the permalink.