HomeBlogZend Framework gestire le API con i prodotti Google

Zend Framework gestire le API con i prodotti Google

Scritto il -   - Massimo Della Rovere

Lo Zend Framework è un pacchetto di classi PHP che possono essere usate per lo sviluppo di un’intera applicazione web anche molto complessa. Questo prodotto contiene al suo interno delle classi specifiche che facilitano l’utilizzo delle API per i prodotti Google, questo sotto insieme di classi può essere anche installato senza dover installare l’ambiente completo, in questo caso viene chiamato Google Data APIs e qui di seguito potete trovare la pagina per il download. Le caratteristiche principali delle GDATA sono le seguenti:

Classi per autenticazione ai servizi google: Molti servizi google richiedono l’autenticazione del client prima di accedere alle informazioni presenti sui server e accedere ai dati, eseguire il salvataggio o la cancellazione di una dato. Esistono due tipi di autenticazione per accedere ai servizi google: AuthSub and ClientLogin. Zend_Gdata offre tutte e due i metodi.

Google developers

Classi per Google Calendar: Queste API permettono l’accesso sia privato che pubblico al calendario. Con l’accesso pubblico possiamo solo leggere i dati, ma non abbiamo bisogno di autenticazione, mentre con accesso privato possiamo eseguire molte funzioni ma dobbiamo eseguire prima un’autenticazione con le API specifiche. (vedi manuale)

// Parametri ClientAuth authentication
$user = "utente@gmail.com";
$pass = "la_vostra_password";
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;

// Creazione autenticazione HTTP client
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);

// Creazione instanza per il servizio Calendario
$service = new Zend_Gdata_Calendar($client);

Classi per Google Spreadsheet: Con queste classi è possibile leggere e scrivere informazioni su un foglio elettronico presente in google docs. Anche se questa pratica ancora non è molto utilizzata, in realtà è molto potente, sia per le funzioni collaborative che per l’integrazione delle funzioni messe a disposizione su google docs con le informazioni da visualizzare sul sito web. Per farvi un esempio io ho sviluppato dei widget finanziari creando dei fogli elettronici che con delle formule specifiche mi ritornavano i dati di google finance. (approfondimento)

$service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$spreadsheetService = new Zend_Gdata_Spreadsheets($client);
$feed = $spreadsheetService->getSpreadsheetFeed();

Classi per Documents List: Con queste API è possibile elencare i documenti presenti in un determinato account, eseguire le funzioni di upload e conversione documento. Per vedere gli esempi di codice da poter utilizzare vi rimando alla documentazione ufficiale.

Classi per Google Base: Con questo prodotto possiamo creare un database di informazioni strutturate come vogliamo, possiamo memorizzare una recensione di un libro, la presentazione un prodotto, un ricettario, etc, ect.  Una volta memorizzate le nostre informazioni possiamo usare diversi metodi di ricerca e lettura da usare nelle nostre applicazioni. (manuale)

Classi per Youtube Data API: Tramite queste classi è possibile reperire informazioni sugli account youtube, sui video pubblicati, eseguire ricerche specifiche per tags e implementare tutti questi risultati sulle proprie applicazione web. Se si usa questo servizio tramite autenticazione è possibile anche effettuare gli upload di video tramite script php, scrivere commenti e molto altro ancora. Partiamo subito da un esempio della documentazione ufficiale e vediamo come elencare una serie di video con una query di ricerca per “wordpress” ad esempio:

/* Prima cosa creazione oggetto Youtube */
$yt = new Zend_Gdata_YouTube();

/* Creazione oggetto query da istanza Youtube e impostazione di alcuni valori
 * come stringa da ricercare, elemento di partenza, numero di risultati e il
 * il tipo di ordinamento che si vuole ottenere
 */
$query = $yt->newVideoQuery();
$query->videoQuery = 'wordpress';
$query->startIndex = 10;
$query->maxResults = 20;
$query->orderBy = 'viewCount';

/* Memorizzo l'elenco dei video trovati in videoFeed */
$videoFeed = $yt->getVideoFeed($query);

/* Lettura elenco video e visualizzazione risultato */
foreach ($videoFeed as $videoEntry) {
  echo "<h1>Title: ".$videoEntry->getVideoTitle()."</h1>\n";
  echo "<p>Description: ".$videoEntry->getVideoDescription()."</p>";
}

Per vedere tutte le classi e i parametri che possono essere specificati per ogni funzione vi rimando alla documentazione ufficiale di Zend Framework Using the Youtube Data API.

Zend Framework

Nel pacchetto Zend GData troverete anche delle API da integrare in Google Picasa e Blogger, ma la cosa interessante è che in futuro il pacchetto conterrà anche le classi del nuovo social network Google+ che potranno essere integrate con i stessi metodi agli altri servizi google.

Autore:
Massimo Della Rovere
Articoli:
133
Website:
http://startbyzero.com/
Nato a Roma nel 1968, appassionato di informatica, programmatore e sistemista su IBM iSeries, esperto in procedure web con PHP e MySQL, grande utilizzatore dei prodotti Google, Linux, Wordpress ed Amazon AWS. Attualmente vive in Perù nella città di Lima, da dove porta avanti il suo progetto favorito riguardante il blog multitematico di startbyzero.com. Per contattarlo basta seguirlo sul profilo pubblico presente nel social network di google+.

Scrivi un tuo commento o qualche consiglio