PHP  »  Articoli  »  Web service 2.0 

10 snippet 2.0 in PHP

di: Claudio Garau     10 Settembre 2010

Snippet 8: aggiungere un evento a Google Calendar

Per creare uno snippet con il quale inserire eventi in Google Calendar è possibile utilizzare due classi:

  • MyCurl: un wrapper che permette di inviare richieste HTTP tramite cURL;
  • Google Calendar Wrapper che contiene i metodi necessari per l'autenticazione al servizio e l'inserimento degli eventi.

Inoltre, bisognerà possedere un account su Google con tanto di indirizzo di posta elettronica su Gmail; si noterà che le due classi sono un po' datate in quanto presentano il delimitatore iniziale di PHP nella forma <? (che si consiglia di correggere in <?php), per il resto però compiono la loro funzione efficacemente e senza errori (non è necessario utilizzare alcuna API Key).

Una volta scaricati i file richiesti che andranno salvati nella cartella "classi", si potrà procedere con la digitazione del codice dello snippet:

<?php
// controllo sull'invio da form
if(isset($_POST['submit']) && ($_POST['submit']=="Invia evento"))
{
// inclusione del file di classe
@require_once("classi/GoogleCalendarWrapper.php");
// istanza della classe
$gc = new GoogleCalendarWrapper("tuamail@tuamail.com", "tuapassword");
// parametri per l'inserimento
$evento = array();
$evento["title"] = filter_var($_POST["titolo"], FILTER_SANITIZE_STRING);
$evento["content"] = filter_var($_POST["testo"], FILTER_SANITIZE_STRING);
$evento["where"] = filter_var($_POST["dove"], FILTER_SANITIZE_STRING);
$evento["startDay"] = filter_var($_POST["inizio"], FILTER_SANITIZE_STRING);
$evento["startTime"] = filter_var($_POST["ora_inizio"], FILTER_SANITIZE_STRING);
$evento["endDay"] = filter_var($_POST["fine"], FILTER_SANITIZE_STRING);
$evento["endTime"] = filter_var($_POST["ora_fine"], FILTER_SANITIZE_STRING);
// chimata al metodo per l'inserimento
if($gc->add_event($evento)){
   // notifica in caso di inserimento
  echo "Evento '".$evento["title"]."' inserito con successo!";
}else{
   // notifica in caso d'insuccesso
  echo "Errore in inserimento";
  }
}else{
// form per l'invio dell'evento
?>
<h1>Inserisci un evento:</h1>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Titolo:<br />
    <input type="text" name="titolo"><br />
        Testo:<br />
    <inputtype="text" name="testo"><br />
        Dove:<br />
    <inputtype="text" name="dove"><br />
        Inizio (aaaa-mm-gg):<br />
    <input type="text" name="inizio"><br />
        Ora inizio(oo:mm:ss):<br />
    <input type="text" name="ora_inizio"><br />
        Fine (aaaa-mm-gg):<br />
    <input type="text" name="fine"><br />
        Ora fine(oo:mm:ss):<br />
    <input type="text" name="ora_fine"><br />
    <input type="submit" name="submit" value="Invia evento">
</form>
<?php
}
?>

Lo snippet consiste in un semplice form che invia i dati al metodo add_event() della classe, il quale si occupa dell'invio dell'evento a Google Calendar tramite una sessione cURL.

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