Wycieczka do Swornychgaci spowodowała m.in. konieczność dopasowania moich starych skryptów Perla służących do obsługi Flickra.
Flickr zmienił bowiem niedawno API przechodząc na SSL. Zapewne nowa wersja modułu Flickr-API tą zmianę uwzględnia, ale można też rozwiązać sprawę dodając stosowny parametr do starych skryptów. Konkretnie poniższy wiersz:
my $api = new Flickr::API({'key' => $api_key, 'secret' => $shared_secret, });
należy uzupełnić o parametr rest_uri
, tj:
my $api = new Flickr::API({'key' => $api_key, 'secret' => $shared_secret, 'rest_uri' => 'https://api.flickr.com/services/rest/' });
Podobnie niewielkich modyfikacji wymaga skrypt służący do wysyłania zdjęć (moduł Flickr-Upload):
my $ua = Flickr::Upload->new( {'key' => $api_key, 'secret' => $shared_secret, 'uri' => 'https://up.flickr.com/services/upload/' } );
W tzw. międzyczasie zmieniła się też nieco metoda flickr.photos.geo.setLocation
:
#if ( $response->{success} ) { ## przestało działać unless ( $response->{error_code} > 0 ) {
W dokumentacji jest napisane:
This method has no specific response -- It returns an empty success
response if it completes without error.. No to faktycznie jak jest empty
to if (EMPTY) {
zwraca fałsz i warunek jest źle interpertowany.
Poza tą jedną poprawką wszystko inne działa.