June 22nd, 2012

Api методы flickr

Если использовать OAUTH авторизацию на Flickr, то методы описанные по адресу http://www.flickr.com/services/api/ не работают. Точнее работают, но нужно внести некоторые корректировки.

Ниже пример вывода списка фотографий одного пользователя.

$request_url = "http://www.flickr.com/services/rest";
$oauth_nonce=md5(microtime().mt_rand());
$timestamp = time();
$consumer_key = "676d28f023уe990730a3fbc12c252a8b";
$consumer_secret = "36b05634d0626fef";
$sig_method = "HMAC-SHA1";
$oauth_version = "1.0";
$oauth_token = "72157630222363050-c9347c35c6f40906";
$oauth_token_secret = "568455560efe6e4e";
$format = "json";
$method = "flickr.photos.search";
$user_id = "22227268@N03";
$basestring = "format=".$format."&method=".$method."&oauth_consumer_key=".$consumer_key."&oauth_nonce=".$oauth_nonce."&oauth_signature_method=".$sig_method."&oauth_timestamp=".$timestamp."&oauth_token=".$oauth_token."&oauth_version=".$oauth_version."&user_id=".$user_id;
$basestring = "GET&".urlencode($request_url)."&".urlencode($basestring);
$hash_key = $consumer_secret."&".$oauth_token_secret;
$oauth_signature = base64_encode(hash_hmac('sha1', $basestring, $hash_key, true));
$url = $request_url."?format=".$format."&method=".$method."&oauth_consumer_key=".$consumer_key."&oauth_nonce=".$oauth_nonce."&oauth_signature_method=".$sig_method."&oauth_timestamp=".$timestamp."&oauth_token=".$oauth_token."&oauth_version=".$oauth_version."&oauth_signature=".$oauth_signature."&user_id=".$user_id;
// header("Location: ".$url);
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
$out = curl_exec($curl);
echo $out;
curl_close($curl);
// header("Location: /my/");
}