twitter api

最近 Twitter Search API Method: search などを勉強しているのだが、 twitter からデータをもらってくるときの形式は atomjson の二種類。 atomxml なわけだが、xmljsonも今の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'] となる。 なんかすげえわかりにくい。

まともかく、apiとしてはかなり簡単な方なんで、 学生にphpmysqlの演習でやらすにはちょうど良いのではないか。