Guest

charly

By: a guest on May 29th, 2008  |  syntax: PHP  |  size: 1.50 KB  |  hits: 250  |  expires: Never
download  |  raw  |  embed  |  report abuse
This paste has a previous version, view the difference. Copied
  1. <?php
  2. function doGet(array $params) {
  3.         $params['api_sig'] = api_sig($params);
  4.        
  5.         foreach($params as $k=>$v)
  6.                 $encoded_params[]=urlencode($k).'='.urlencode($v);
  7.                
  8.         $url = "http://api.flickr.com/services/rest/?".implode('&', $encoded_params);
  9.         $rsp = file_get_contents($url);
  10.        
  11.         return unserialize($rsp);
  12. }
  13.  
  14. function api_sig($params) {
  15.         ksort($params);
  16.        
  17.         $str='secret partagé';
  18.        
  19.         foreach($params as $k=>$v)
  20.                 $str .=$k.$v;
  21.                
  22.         return md5($str);
  23. }
  24.  
  25. $params=array(
  26.         'method'=>'flickr.auth.getFrob',
  27.         'api_key'=>'clé api',
  28.         'format'=>'php_serial'
  29.         );
  30.  
  31. $rsp=doGet($params);
  32.  
  33. unset($params['method']);
  34. unset($params['format']);
  35.  
  36. $params['perms']='write';
  37. $params['frob']=$rsp['frob']['_content'];
  38.  
  39. function authURL(array $params) {
  40.         return 'http://flickr.com/services/auth/?api_key='.$params['api_key'].'&perms='.$params['perms'].'&frob='.$params['frob'].'&api_sig='.api_sig($params);
  41. }
  42.  
  43. echo authURL($params); sleep(60); //arrêt du script durant 60 secondes (le temps de c/c l'url afin de donner les droits à l'application)
  44.  
  45. unset($params['perms']);
  46.  
  47. $params['method']='flickr.auth.getToken';
  48. $params['format']='php_serial';
  49.  
  50. $rsp=doGet($params);
  51.  
  52. print_r($rsp);
  53. /*
  54. et là on voit qu'on a notre jeton d'authentification !
  55. ainsi que les infos pour aller au bout de la procédure d'authentification selon Flickr
  56. c'est à dire qu'il ne reste plus qu'une étape d'après la documentation
  57. celle-ci étant la récupération des infos utilisateur en appelant la méthode flickr.people.getInfo
  58. */