自動で別アカウントを定期的にRetweetしたい
Twitterで自動的に、自分または他人のアカウントをリツイートする方法のメモ。
 
自動リツイートに必要なもの
・cronを使えるサーバー
 ・OAuth.php (ダウンロード可能)
 ・twitteroauth.php (ダウンロード可能)
  
 TwitterアカウントでAPIキーを調べる
 ・consumer key(コンシューマーキー)
 ・consumer secret(コンシューマーシークレット)
 ・access token(アクセストークン)
 ・access token secret(アクセストークンシークレット)
 の4つが必要。
 あと、Retweetする相手のScreen name(スクリーンネーム)も。
  
 APIキーを取得するための方法はこちらTwitterのAPIを使用する際にキーを取得する方法
 
手順1
・cronを使えるサーバーは自分で用意しておこう。多くは有料サーバーだが、無料のもなくはない。特に海外サーバーなら無料でcronが使えるものもある。
  
 おすすめ無料サーバートップ10この辺りも参考に。
  
 下記から、OAuth.php と twitteroauth.php をダウンロードしよう。
  
 OAuth.txtをダウンロード。
twitteroauth.txtをダウンロード。
安全性の観点から、拡張子を変えて「OAuth.txt、twitteroauth.txt」にしているので、自分で「.php」に直す。
 自分でどこかから探してきてダウンロードしてもOK。
  
 編集の必要はなし。
  
 拡張子?なにそれおいしいの?の人は頑張って調べて。
「.php」にしたら、文字コードがUTF8になっていることを確認しよう。
 
手順2:プログラムにキーを書く
本体プログラムを用意する。
  
 めんどくさい人はここからダウンロード可能。
 retyuya.txtをダウンロード。
 これも、同様に拡張子を「.txt」にしてるので「.php」に変更すること。文字コードもUTF8である事を確認しよう。
  
 内容:
 
<?php
 require_once(“twitteroauth.php”);
$consumer_key = “コンシューマーキー(kdi0enDBERDG…..みたいな)“;
 $consumer_secret = “コンシューマーシークレット(キーよりも長い)“;
 $access_token = “アクセストークン(3872748-meiD566FDsgrg…みたいな)“;
 $access_token_secret = “アクセストークンシークレット(CDGEkdfbje45D….)“;
 //太字の所に自分のTwitter APIキーをコピペする。
$twObj = new TwitterOAuth(
 $consumerKey,
 $consumerSecret,
 $accessToken,
 $accessTokenSecret
 );
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
 $req = $to->OAuthRequest(“https://api.twitter.com/1.1/statuses/user_timeline.json”,”GET”,array(“screen_name”=>”Retweetしたいアカウントのスクリーンネーム“,”count”=>”取得するTweetの数“));
 $tweet = json_decode($req);
 //ここで入力したスクリーンネームのTweetを新しいものから順にcountの数分取得している。
//ID
 $retweet = $tweet[0]->text;
 $id = $tweet[0]->id_str;
//RT
 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);
 $req = $to->OAuthRequest(
 ‘https://api.twitter.com/1.1/statuses/retweet/’.$id.’.json’,
 ‘POST’
 );
 //APIを使ってRetweetで先ほど取得したTweetを呟く。
?>
 
 シンプルなコードなので分かると思うが、もし分からなければ理解しなくても大丈夫。
 
手順3:アップロードする
FTPソフトなどで、サーバー上にアップロードする。場所は割とどこでもいいはず。
  
 サーバーによって違う可能性はあるが、今回は「public_html(場合によってはwwwフォルダ)」の中に、「retyuya」フォルダを作りその中にアップした。
 
手順3:cronの設定をする
cronの設定をしよう。
サーバーにログインし、cronの設定画面を開こう。
ちなみに、さくらの共有サーバーだと、
 
 こんな感じ。コマンドの説明は後ほど。
cPanel系の管理画面だと、
 
 こんな感じだ。
コマンドもサーバーによって違ったり、色々記述方法があったりするが、とりあえず以下のような感じになる。
さくら
cd /home/*自分のアカウント*/www/retyuya/ ; /usr/local/bin/php retyuya.php > /dev/null
cPanel系
/usr/bin/php /*自分のアカウント*/public_html/retyuya/retyuya.php > /dev/null
サーバーによって記述方法は違うので自分のサーバーでの記述方法を調べてみよう。
cronは、「1時間に1回」、「毎週月曜日のこの時間」などの設定が可能なので適当に設定しよう。
使いどころは?
これで、自分の持ってるビジネスアカウントを、自分の個人アカウントで定期的に自動でリツイートさせることが可能。
 フォロワーを増やしたい時などに有効。
複数のアカウントがある場合は、同じことをして相互にリツイートさせる事もできる。