Flickr で写真の拡張子を取る(その2)
ほんとman読めって。あーもう。
http://www.flickr.com/services/api/flickr.people.getPublicPhotos.html
#!/usr/bin/perl use strict; use warnings; use Flickr::API; use XML::Parser::Lite::Tree::XPath; my $user_id = shift or die; my $api = Flickr::API->new({ key => $ENV{FLICKR_KEY}, secret => $ENV{FLICKR_SECRET}, }); my $res = $api->execute_method( 'flickr.people.getPublicPhotos', { user_id => $user_id, extras => 'original_format', per_page => 10, } ); if ($res->{success}) { my $xpath = XML::Parser::Lite::Tree::XPath->new($res->{tree}); my @nodes = $xpath->select_nodes('/photos/photo'); for my $node (@nodes) { my $id = $node->{attributes}->{id}; my $ext = $node->{attributes}->{originalformat} || 'jpg'; print "$id: $ext\n"; } }
やったー。これでAPI叩く回数がぐっと減るはず。つうかほんとドキュメント読まずにやってるよな。ひどい。→つうことでこれに合わせていろいろ書き換える。→jpgばっかりだとoriginalformatが出ないらしいので対応。→いや。なんか出たりでなかったりするな。わからんなぁ。→つhttp://tech.groups.yahoo.com/group/yws-flickr/message/3248→なんだって熊。えー。でもおれプロアカウントなんだが。→さらに続く→http://www.flickr.com/account/?tab=privacyの「Who can download your photos」で「Anyone」にしないとダメなのな。えー。→ということで、上のコードで実質問題ないみたい。