PHP  »  Articoli  »  Web service 2.0 

Youtube e PHP: introduzione al web service

di: Marco Bonzanini     12 Giugno 2009

YouTube è un sito web che offre un servizio di condivisione di filmati tramite il quale gli utenti possono caricare i propri filmati, visualizzarli e condividerli con gli altri utenti che a loro volta possono commentare e votare i video inseriti. A partire dal 2006 il servizio è stato acquisito da Google, il quale mette a disposizione degli sviluppatori la possibilità di integrare le funzionalità di YouTube all'interno delle proprie applicazioni o dei propri siti web mediante un pratico web service. Lo scopo di queste pagine sarà introdurre il lettore al web service offerto da YouTube, per capirne le potenzialità ed il funzionamento di base, naturalmente affrontando la problematica dal punto di vista dello sviluppatore PHP.

La nostra applicazione sarà quindi in grado di effettuare tutte le operazioni eseguibili da un utente, sia in forma anonima (ricerca e visualizzazione di filmati e relative informazioni) sia in forma autenticata (caricamento, aggiornamento o rimozione di filmati, inserimento di commenti). In questo secondo caso, sarà quindi necessario un account registrato presso YouTube.

Per iniziare

L'architettura del web service utilizza un classico approccio REST, e questo per noi significa, in sintesi, che sarà necessario inviare richieste HTTP ottenendo in risposta documenti XML da interpretare. La struttura del protocollo è abbondantemente documentata e l'aspetto che probabilmente più ci interessa è il fatto che è già presente un'implementazione ufficiale in PHP, facente parte del pacchetto Zend Framework.

Il primo passo sarà quindi procurarci le componenti che ci servono all'interno della libreria Zend, in particolare la classe Loader e il package Zend_Gdata (viene consigliata una versione successiva o uguale alla 1.7.7). Per quanto riguarda la versione di PHP richiesta, si fa riferimento alla 5.1.4 o superiore. È importante verificare che le librerie Zend siano posizionate in una cartella che fa parte dell'include_path.

Il passo successivo sarà le registrazione della nostra applicazione presso Google, con lo scopo di ottenere una chiave per lo sviluppatore (developer key). Per effettuare questo passo è necessario disporre di un account Google: una volta effettuato il login potremo ottenere la chiave cliccando su Create new developer key. L'unico dato obbligatorio da specificare è il nome dell'applicazione, a cui possiamo facoltativamente associare anche un indirizzo URL e una breve descrizione. Effettuata questa procedura avremo ottenuto la developer key, a cui sarà associata un'altra chiave detta Client ID: questi dati ci torneranno utili in seguito.

Per quanto riguarda il codice PHP, è necessario creare un oggetto di tipo Zend_Gdata_YouTube, che sarà uno degli strumenti principali dei nostri lavori. All'inizio dei nostri script inseriremo quindi le seguenti righe:

require_once 'Zend/Loader.php'; // verificare che la cartella Zend sia nell'include_path
Zend_Loader::loadClass('Zend_Gdata_YouTube');

$youtube = new Zend_Gdata_YouTube();

L'oggetto $youtube creato in questo modo ci consentirà di utilizzare tutte le funzionalità che sono normalmente fruibili senza autenticazione.

Nel caso in cui fosse necessario accedere a funzioni riservate agli utenti registrati, dovremo prevedere questa eventualità, sfruttando una delle due opzioni di autenticazione che sono disponibili, AuthSub o ClientLogin, caricando le relative classi:

Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');

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