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を取得してタイムラインを読み込むことができます。