SNS Twitter

TwitterのタイムラインのRSSを取得する2つの方法

Twitterのタイムラインからツイート内容を取得して、RSSを作成する方法を紹介しています。

 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:」をクリックすると入力窓に自動で入力されます。

スクリーンショット 2016-03-28 02.53.13

「from:username」の部分をクリックすると、上の様に記入されます。この「username」の部分を、RSS取得したいユーザー名に変えます。

スクリーンショット 2016-03-28 02.53.20

Twiiterのユーザー名はご自身のアカウントに書いてある「@」で続く部分です。その@を外して、下記の様に記入します。

スクリーンショット 2016-03-28 02.53.44

せっかくなんで、堀江貴文さんのRSSを取得してみました。

この時のRSSのURLをそのまま使用すれば、RSSを取得してタイムラインを読み込むことができます。