PHP  »  Articoli  »  Web service 2.0 

Il web service di Flickr e PHP: esempi avanzati

di: Marco Bonzanini     11 Settembre 2009

Dopo aver introdotto il lettore al web service proposto da Flickr, e alla classe phpFlickr che ci consente di utilizzarlo, è il momento di approfondire l'argomento per scoprire altre funzionalità interessanti di questo servizio. Naturalmente rimane valido tutto quando già descritto nella prima parte dell'articolo, per quanto riguarda gli strumenti necessari, l'uso della chiave API fornita da Flickr, la sintassi delle funzioni implementate da phpFlickr e tutti gli altri dettagli. Come già accennato, per accedere ad alcune funzionalità è necessaria una procedura di autenticazione, mentre per altre l'accesso è libero. Nei prossimi paragrafi tratteremo anche questo aspetto.

Cercare un utente

Nel primo esempio proposto nella parte precedente dell'articolo, abbiamo effettuato una ricerca all'interno dell'archivio pubblico. Potrebbe essere interessante circoscrivere la ricerca all'interno delle foto pubblicate da un determinato utente, ma per fare ciò sono necessarie due condizioni: per prima cosa dobbiamo conoscere il suo identificativo (user_id), ma soprattutto è l'utente stesso che ha la facoltà di impostare le proprie opzioni sulla privacy, scegliendo di non essere incluso nelle ricerche pubbliche.

Non avendo ovviamente il controllo su questa seconda condizione, a meno di essere noi stessi l'oggetto della ricerca, ci concentriamo sul primo aspetto, ossia scoprire lo user_id di un utente. Il web service ci mette a disposizione due funzioni adatte allo scopo, ossia flickr.people.findByUsername e flickr.people.findByEmail, che vengono implementate dalle omonime funzioni della classe. Proponiamo un esempio di ricerca per username, considerando che la ricerca per indirizzo e-mail funziona in modo sostanzialmente identico:

<?php
$api_key = 'mia-api-key';
require_once('phpflickr/phpFlickr.php');

$flickr = new phpFlickr($api_key);

if (isset($_POST['submit'])) {

    $result = $flickr->people_findByUsername($_POST['cerca']);
    // Gestione dei risultati
    echo '<pre>'; print_r($result); echo '</pre>';

}

echo '
<form method="post">
    Cerca utente per username: <input type="text" name="cerca" />
    <input type="submit" name="submit" value="Cerca" />
</form>';
?>

Questo esempio stampa a video un semplice modulo che consente di inserire lo username dell'utente che stiamo cercando. Il dato inserito viene passando come parametro alla funzione people_findByUsername() della classe phpFlickr, la quale restituisce un array associativo se l'utente viene trovato, oppure false in caso contrario (l'utente non esiste, o il suo profilo è privato). Da notare che la ricerca per indirizzo e-mail funziona allo stesso modo, sostituendo la funzione people_findByUsername() con people_findByEmail().

Il risultato, con entrambe le tipologie di ricerca, sarà quindi un array associativo contenente tre campi:

  • nsid, l'identificativo dell'utente, usato anche per costruire gli indirizzi del profilo e degli album come proposto nella prima parte dell'articolo;
  • id, l'identificativo dell'utente, usato internamente da Flickr, che per i nostri scopi può essere ignorato e che spesso è uguale al campo nsid;
  • username, lo username dell'utente.

Guide PHP

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Guida PHP con Windows e IIS

Installare ambienti per lo sviluppo e la produzione di applicazioni...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Google AdWords Base

27 Febbraio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

28 Marzo 2012 a Roma
Disponibilità: 7 Posti