🧊

Twitter Search APIで、jsonデータからリンクに関する情報を抽出する

こんなんにつまづくなんて、ほんとまだまだ修行が足りませんな・・・。

GETしたjsonにリンク情報などおまけ情報を含ませるためには、'include_entities'=>1を指定します。

コード

$searchUrl = 'http://search.twitter.com/search.json';
$searchParams = http_build_query(array(
 'q'=>'検索ワード',
	'locale'=>'ja',
	'page'=>1,
	'result_type'=>'recent',
	'rpp'=>100,
	'include_entities'=>1 // これがないとデータ取れない
));

$searchResults = json_decode(file_get_contents($searchUrl.'?'.$searchParams));

if (isset($searchResults)) {
 $results = $searchResults->results;
 for ($i = 0; $i < count($results); $i++) {
  echo ($results[$i]->entities->urls[0]->url);
  echo ($results[$i]->entities->urls[0]->expanded_url);
  echo ($results[$i]->entities->urls[0]->display_url);
  echo ($results[$i]->entities->urls[0]->indices[0]).($results[$i]->entities->urls[0]->indices[1]);
 }
}

urls[0]をつけないと、一気にNullが返ってくるようになって、ああでもないこうでもないと2時間くらい悩むハメになります。

こんな簡単なことは、経験者のみなさまは書いてくれません!
困ったもんだ!