twitter api
最近 Twitter Search API Method: search などを勉強しているのだが、 twitter からデータをもらってくるときの形式は atom か json の二種類。 atom は xml なわけだが、xmlもjsonも今のphpにはデフォルトでパーザがついてくるので、 別にどっちでも良いといえば良い。 xmlはタグで書かれているから、jsonに比べるとやや冗長なようだ。 なんで、転送するデータ量という意味ではjson使った方が良いのかもしれん。
php の場合 xml だと simplexmlelement() 使えばよく、 json だと json_decode() 使えばよい。 それで異様に複雑な配列が生成されるのだが、 どんな具合か知るにはいきなり var_dump() かなんかで表示させてみれば、だいたいのことはわかる。 Twitter api (atom) + simplexmlelement とか Twitter api (json) + simplexmlelement とか参照。
json だと $json = $json_decode(file_get_contents(...)) で取ってきたら、 たとえば $json['results'][0] が最初のエントリで、 $json['results'][0]['profile_image_url'] っていうのがそのアイコン画像(プロファイル画像)だということがわかる罠。 わかりやすい。
atom の場合、 $atom = new SimpleXMLElement(file_get_contents(...)) とかやって、 $atom['entry'][0]が最初のエントリで、プロファイル画像は $atom['entry'][0]['link'][1]['href'] となる。 なんかすげえわかりにくい。