PHP  »  Articoli  »  Zend Framework 

Interrogare Google Calendar con PHP

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.

Prime operazioni con le Google Calendar API

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.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

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...

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 PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti