Twitterの検索結果をJSONとして取得する

Twitterの検索結果をJSONで受け取る方法です。
URLにパラメータを設置するだけで実現できてしまいました。

TwitterからのJSON取得サンプルコード

<?php
/*
 * オリンピックで検索した結果100件を
 * ユーザ: 内容(投稿日) で出力する
 */

// JSON取得用各種パラメータ
$search_keyword = urlencode('オリンピック'); 
$search_limit   = 100;

// Twitterの検索API (JSON) 末尾をrssにするとrssが取得できる
$api = 'http://search.twitter.com/search.json';
// $api = 'http://search.twitter.com/search.rss';

$json = file_get_contents("{$api}?q={$search_keyword}&rpp={$search_limit}");
$data = json_decode($json, true);

// 取得したJSONを ユーザ名: 内容(投稿時間)で表示
foreach ( $data['results'] as $d )
{
    $create_date = date('Y-m-d H:i:s', strtotime($d['created_at']));
    echo "{$d['from_user_name']}: {$d['text']} ({$create_date})\n";
}

twitterのsearch APIドキュメント

Searchに関するドキュメントはTwitter Developer用のサイトにまとめられていました。
https://dev.twitter.com/docs/using-search
https://dev.twitter.com/docs/api/1/get/search



3 thoughts on “Twitterの検索結果をJSONとして取得する

  1. 初めまして これを参考にさせてもらって今作っているのがあるのですが どうしてもmedia_urlの部分が取得できないのですが どうすればいいですか?

    1. こんにちは、
      こちらもmedia_urlがわからなかったのでtwitterのAPIのぞいてみたら
      https://dev.twitter.com/issues/150
      こちらに取得方法が載ってました。

      検索APIだとmedia_urlが欠落してるとか書いているようで、
      どこかでみたことがあるような気がするんですが、
      twitter公式の画像アップロードurlでないとmedia_urlは取得できないような気がします。

      1. ありがとうございました! 無事完成しました

コメントを残す