Avatar billede esneh Nybegynder
17. april 2010 - 00:22 Der er 2 kommentarer og
1 løsning

Slet kalenderposter i google calendar vedhjælp af zend framework

Som titlen siger, har jeg lidt problemer med at få mit zend framework til at slette poster i google calendar.

Dette er min kode so far:
<?php

$GCuser    = "MinEmail";
$GCpass    = "MitPass";

$clientLibraryPath = "library";
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);

require_once("Zend/Loader.php");
Zend_Loader::loadClass("Zend_Gdata");
Zend_Loader::loadClass("Zend_Gdata_ClientLogin");
Zend_Loader::loadClass("Zend_Gdata_Calendar");

$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($GCuser,$GCpass,$service);

for($x = 0; $x < 1; $x++)
{
    $eventIDs = "eventIDs.txt";
    $fo = fopen($eventIDs, 'r');
    $eventURL = fgets($fo);
     
    $eventEditUrl = $event->getLink($eventURL)->href;
    $gdataCal->delete($eventEditUrl);
}

fclose($fo);
?>

Det der ligger i tekst filen, er en URL jeg har fået ud af denne funktion (Som er en del af et andet script):

function createEvent ($client, $title, $desc, $where, $startDate, $startTime,$endDate, $endTime, $tzOffset)
{
    $gdataCal = new Zend_Gdata_Calendar($client);
      $newEvent = $gdataCal->newEventEntry();

      $newEvent->title = $gdataCal->newTitle($title);
      $newEvent->where = array($gdataCal->newWhere($where));
      $newEvent->content = $gdataCal->newContent("$desc");

      $when = $gdataCal->newWhen();
      $when->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00";
      $when->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00";
      $newEvent->when = array($when);

    $createdEvent = $gdataCal->insertEvent($newEvent);
      return $createdEvent->id->text;
}

Den fejl jeg får er:
Fatal error: Call to a member function getLink() on a non-object in /var/www/hense.dk/gc/delete.php on line 45

Nogen som har en idé til hvad jeg kan gøre ?
Avatar billede Slettet bruger
17. april 2010 - 00:29 #1
Går ud fra linje 45 i "/var/www/hense.dk/gc/delete.php" ser således ud:
$eventEditUrl = $event->getLink($eventURL)->href;

Det den siger er at din variabel $event ikke er et objekt - og jeg kan heller ikke se hvor du får den variabel fra.

Håber du kan bruge den information til noget :-)
Avatar billede esneh Nybegynder
18. april 2010 - 12:14 #2
Har jeg også tænkt på, men da det står i googles documentation omkring deres data API og zend framework, kunne det være nogen herinde havde arbejdet med det før, som ligesom vidste hvad jeg kunne gøre.
Avatar billede esneh Nybegynder
18. april 2010 - 22:35 #3
Har fundet min fejl, havde glemt at lave en:
$gdataCal = new Zend_Gdata_Calendar($client);
Før jeg begyndte at slette i det. Så skal jeg slette:
$eventEditUrl = $event->getLink($eventURL)->href;
og kun have dette:
$gdataCal->delete($eventEditUrl);
hvor $eventEditUrl skal skiftes ud med $eventURL
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester