自動で別アカウントを定期的に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回」、「毎週月曜日のこの時間」などの設定が可能なので適当に設定しよう。
使いどころは?
これで、自分の持ってるビジネスアカウントを、自分の個人アカウントで定期的に自動でリツイートさせることが可能。
フォロワーを増やしたい時などに有効。
複数のアカウントがある場合は、同じことをして相互にリツイートさせる事もできる。