Google Calendar API – Symfony 1.4

Integrarea calendarului Google in Symfony 1.4

Cine doreste sa integreze Google Calendar Api in Symfony 1.4 este nevoit sa includa libraria ZendGdata si sa urmeze urmatorii pasi:

1. Include libraria ZendGdata in folderul lib/vendor .

Ultima versiune de ZendGData poti gasi pe urmatorul link: http://framework.zend.com/download/webservices

2. Adauga in ProjectConfiguration.class.php

static protected $zendLoaded = false;

static public function registerZend() {
  if(self::$zendLoaded) {
    return;
  }
  set_include_path(sfConfig::get('sf_lib_dir').'/vendor'.PATH_SEPARATOR.get_include_path());
  require_once sfConfig::get('sf_lib_dir').'/vendor/Zend/Loader/Autoloader.php';
  Zend_Loader_Autoloader::getInstance();
  self::$zendLoaded = true;
}

3. Adauga in actions.class.php


public function executeCalendar(sfWebRequest $request) {

  //incarca libraria Zend
  ProjectConfiguration::registerZend();

  //intra in contul de google
  $gdataCal = new Zend_Gdata_Calendar();

  $user = 'nume@gmail.com';
  $pass = '123456';
  $service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;

  $client = Zend_Gdata_ClientLogin::getHttpClient($user,$pass,$service);

  //insereaza un eveniment generat dinamic
  $gdataCal = new Zend_Gdata_Calendar($client);

  $event = $gdataCal->newEventEntry();
  $event->content = $gdataCal->newContent("Test ".rand(100000, 200000));
  $event->quickAdd = $gdataCal->newQuickAdd('true');
  $newEvent = $gdataCal->insertEvent($event);

  //ia toate evenimentele in variabile $this->eventFeed ($eventFeed in template)
  $this->eventFeed = $gdataCal->getCalendarEventFeed();

}

4. Creaza un fisier template cu numele „calendarSuccess.php” si introdu urmatorul cod:


<?php

echo "<ul>\n";

foreach ($eventFeed as $event) {
  echo "\t<li>" . $event->title->text . " (" . $event->id->text . ")\n";
  echo "\t\t<ul>\n";
  foreach ($event->when as $when) {
    echo "\t\t\t<li>Starts: " . $when->startTime . "</li>\n";
  }
  echo "\t\t</ul>\n";
  echo "\t</li>\n";
}

echo "</ul>\n";

?>

5. Afisarea (Embed) calendarului Google in template "calendarSuccess.php":

Adauga la sfarsitul fisierului „calendarSuccess.php” codul generat pe linkul: http://www.google.com/calendar/embedhelper

Multumesc lui @mhitza ca m-a ajutat la realizarea tutorialului.

5 păreri la “Google Calendar API – Symfony 1.4”

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s