di: Gabriele Farina 05 Luglio 2007
Nel precedente articolo abbiamo introdotto l'utilizzo della libreria Zend GData per l'accesso alle API GData di Google, fornite come servizi che permettono di accedere alle fonti di dati pubbliche e private utilizzate da Google per immagazzinare le informazioni inserite all'interno di alcune delle sue applicazioni web. Abbiamo introdotto il sistema di autenticazione che fornisce un certo grado di libertà sia per chi necessita solamente l'accesso in lettura ai dati pubblici che per chi invece desidera aggiornare i dati o accedere ad informazioni protette.
In questo articolo, che divideremo in due parti distinte, scenderemo in dettaglio illustrando come utilizzare praticamente la libreria Zend GData dopo aver svolto l'autenticazione necessaria; utilizzeremo le classi illustrate nello scorso articolo in modo da interrogare le fonti di dati, modificare i valori ottenuti ed eliminarli in caso fosse necessario. Ci interfacceremo a Google Calendar, servizio di Google che permette di mantenere un calendario online completo di avvisi, appuntamenti e condivisione pubblica o privata.
Per chi lo desiderasse, le informazioni più dettagliate sulle API di Google Calendar possono essere recuperate sulla pagina messa a disposizione dal motore di ricerca.
Come per gli altri servizi di Google, Calendar si basa sul protocollo Atom APP (descritto brevemente nell'articolo precedente). La classe fornita dalle Zend API per istanziare ed interrogare il servizio è Zend_Gdata_Calendar e può essere utilizzata sia con che senza autenticazione. Nel secondo caso sarà ovviamente possibile accedere solamente ai calendari pubblici.
Come prima operazione potremmo occuparci di recuperare una lista di calendari per un determinato utente. Questa operazione è possibile solamente se ci si è precedentemente autenticati e, diversamente da quello che accade quando si accede all'interfaccia grafica di Google Calendar, saranno restituiti anche i calendari marcati come hidden (nascosti).
<?php
// ... import omessi per brevità
$user = 'username';
$pass = 'password';
$client = Zend_Gdata_ClientLogin::getHttpClient(
$user, $pass,
Zend_Gdata_Calendar::AUTH_SERVICE_NAME);
$calendar_service = new Zend_Gdata_Calendar($client);
try
{
$listFeed = $calendar_service->getCalendarListFeed();
echo "<h3>Feeds restituiti</h3>";
echo "<ul>";
foreach($listFeed as $calendar_entry)
{
echo "<li>". $calendar_entry->title ."</li>";
}
echo "</ul>";
} catch (Zend_Gdata_App_Exception $e)
{
echo "Error: " . $e->getResponse();
}
?>Utilizzando il metodo getCalendarListFeed otteniamo un'istanza della classe Zend_Gdata_Calendar_ListFeed che contiene per l'appunto il feed che rappresenta la lista di calendari disponibili per l'utente con cui ci si è autenticati. Se iterata questa classe restituisce istanze della classe Zend_Gdata_Calendar_ListEntry che rappresenta una singola Entry del feed in cui sono contenute le informazioni su un determinato calendario.
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Zend FrameworkDiventate professionisti dello sviluppo Web. Zend Framework è lo... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |