TwitterはRSSを配信していない
いきなりタイトルにそぐわない小見出しですが、実はTwitterはRSSを配信していないので、WEBスクレイピング(サイトのHTMLからデータを取得して加工する処理)をして、まずRSSを作らなければなりません。
WordPressでスクレイピングして外部サイトのコンテンツを取得する方法
そこで、まずはRSSを作成する方法を2つ紹介します。
TwitterのタイムラインのRSSを作成する
1:自作する
twitteroauth.phpの読み込み
twitteroauth.phpというgitHubにあるPHPのツールを読み込みさえすれば、割と簡単に自作できます。PHPの基礎知識がある人はこの方法が楽に思えるでしょう。
ソースはこちら(GitHub)PHPコードの作成
以下のファイルを「twrss.php」の様な任意の名前でで保存します。
require_once("twitteroauth/twitteroauth.php");
$name = $_GET['username'];
//以下の情報はdev.twitter.comにアクセスして取得できます
$consumerKey = "consumerKey";
$consumerSecret = "consumerSecret";
$accessToken = "accessToken";
$accessTokenSecret = "accessTokenSecret";
$connection = new TwitterOAuth($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret);
$request = $connection->OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $name, "GET", array("count"=>"10"));
$results = json_decode($request);
if (isset($results)) {
echo '' . "n" . '' . "n";
echo 'n";
echo '' . "n";
echo 'tag:' . $name . "n";
echo '';
foreach ($results as $key => $val) {
echo date('Y-m-d H:i:s', strtotime($results[$key]->created_at));
break;
}
echo "n";
foreach ($results as $key => $val) {
echo "nn";
echo 'id_str . '"/>' . "n";
echo 'tag:' . $results[$key]->id_str . "n";
echo '' . date('Y-m-d H:i:s', strtotime($results[$key]->created_at)) . "n";
echo "n" . $name . "nn" . '';
echo $results[$key]->text;
echo "nn";
}
echo '';
}
サーバーにアップロード
WordPressなら、テーマのフォルダにアップロードしても良いですが個別にプラグイン化させるのがおすすめです。上記のtwrss.phpとtwitteroauthフォルダ(中にはOAuth.phpとtwitteroauth.phpが入っている)をサーバにアップローします。
URLを記入すればそのタイムラインのRSSが取得できる様になっている。
※URLは架空のものです
※これは、ルートディレクトリにファイルを配置した場合です。プラグイン化した時は気にしなくても大丈です。
上記の様に記入すれば、そのユーザー名のタイムラインを取得してRSSを作成することができます。
2:ツールを使用する(Queryfeed)
もう一つはqueryfeed.netのツールを使用する方法です。下記サイトにアクセスします。
RSS取得までの方法
まず、サイトにアクセスして、下記の部分にキーワードを記入します。キーワードに使用できるのは以下の通りです。
- ハッシュタグ
- ユーザー名
- @ユーザー名
特定のユーザーのツイートのタイムラインのRSSを作成するには「from:ユーザー名」の形を記入窓に入力する必要があります。これは「from:」と手動入力する必要はなくて、下にある青字の「from:」をクリックすると入力窓に自動で入力されます。
「from:username」の部分をクリックすると、上の様に記入されます。この「username」の部分を、RSS取得したいユーザー名に変えます。
Twiiterのユーザー名はご自身のアカウントに書いてある「@」で続く部分です。その@を外して、下記の様に記入します。
せっかくなんで、堀江貴文さんのRSSを取得してみました。
この時のRSSのURLをそのまま使用すれば、RSSを取得してタイムラインを読み込むことができます。