Flickr APIの変化とTypo 5.3のflickr.rb

投稿者 akira 2009-05-30 13:17:00 GMT

Typo 5.3で使っている自作のFlickrプラグインで写真を引っぱれなくなった。「Flie does not exist」という例外が起きている。ファイル?

追ってみたところ、vendor/flickr/flickr.rbで使っているXmlSimple.xml_inの中での起きている例外だった。xml_inは与えられた文字列がXMLっぽかったらXMLとして、そうでなければファイル名として処理しようとする。えぇー、と思ったが、まあそれはおいていおく。

実際にアクセスしているURLを取り出してwgetしてみたところ、きちんとレスポンスが得られる。けれどもxml_inには空文字列が渡っている。おかしいなと思い、flickr.rbではどのようにアクセスしているか見てみるとNet::HTTP.get_responseを使っていた。それではと同メソッドでアクセスしてみると302が返ってきていることがわかった。なるほど。

では302が返ってきたらそれを追いかけるように書き換えて、などとしかけたのだが、open-uriでよいではないかと思いとどまった。こんな感じ。

def http_get(url)
#  Net::HTTP.get_response(URI.parse(url)).body.to_s # 元のコード
  open(URI.parse(url)) {|i| i.read}
end
トラックバック

トラックバックリンク:
http://arika.org/diary/trackbacks?article_id=2613