views:

6

answers:

0

Hello All,

I've been working with the PHP api for google Calendar, and have been getting quite frustrated.

I downloaded the zend package with all the libraries from google's page, and have been working off the provided code to make sure it can meet my requirements.

The issue I'm running into involves getting an event back from the system. The provided code includes a demo with function getEvent($clientId, $eventId), which based on the documentation and reading the code, i would expect to return an event that is in my calendar that matches the provided Id.

So in my tests, I create a new event, and then I try to retrieve it. However, whenever I retrieve the event, Zend_data_Gdata_App_HttpException is:

function processPageLoad()
{
    global $_SESSION, $_GET;
    if (!isset($_SESSION['sessionToken']) && !isset($_GET['token'])) {
        requestUserLogin('Please login to your Google Account.');
    } else {
        $client = getAuthSubHttpClient();
        $id = createEvent ($client, 'Tennis with Beth',
         'Meet for a quick lesson', 'On the courts',
        '2010-10-20', '10:00',
        '2010-10-20', '11:00', '-08');
        $newEvent = getEvent($client, $id);
    }
}

the code for createEvent( ) is :

function createEvent ($client, $title = 'Tennis with Beth',
$desc='Meet for a quick lesson', $where = 'On the courts',
$startDate = '2008-01-20', $startTime = '10:00',
$endDate = '2008-01-20', $endTime = '11:00', $tzOffset = '-08')
{
    $gc = new Zend_Gdata_Calendar($client);
    $newEntry = $gc->newEventEntry();
    $newEntry->title = $gc->newTitle(trim($title));
    $newEntry->where  = array($gc->newWhere($where));

    $newEntry->content = $gc->newContent($desc);
    $newEntry->content->type = 'text';

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

    $createdEntry = $gc->insertEvent($newEntry);
    return $createdEntry->id->text;
}

And finally the code for getEvent() is:

function getEvent($client, $eventId)
{
    $gdataCal = new Zend_Gdata_Calendar($client);
    $query = $gdataCal->newEventQuery();
    $query->setUser('default');
    $query->setVisibility('private');
    $query->setProjection('full');
    $query->setEvent($eventId);

    try {
        $eventEntry = $gdataCal->getCalendarEventEntry($query);
        return $eventEntry;
    } catch (Zend_Gdata_App_Exception $e) {
        var_dump($e);
        return null;

}

}

Any help is greatly appreciated!!