Je me suis battu contre cela pendant un certain temps et j'ai finalement réussi à le faire fonctionner. Ce n'est pas très bien emballé, mais c'est la réponse que je cherchais.
Vous devez d'abord obtenir l'identifiant du calendrier. Si vous allez dans votre calendrier et cliquez sur l'icône de la flèche vers le bas à côté du nom, vous verrez une option pour les paramètres du calendrier. Sélectionnez cet élément de menu. En bas de la page, vous verrez Adresse du calendrier. Il vous faudra un moment pour trouver l'ID du calendrier, qui ressemblera à ceci
(Calendrier ID : o4g3921hdiaq5p8kdat2l4vgis@group.calendar.google.com)
Vous voulez o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com
Plus tard, j'aurai envie de le faire en php, mais pour l'instant je peux coder en dur. J'ai donc défini une variable comme suit
$calendar_user = 'o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com';
Lorsque vous récupérez des événements, vous devez définir l'utilisateur comme suit
$gdataCal = new Zend_Gdata_Calendar($client);
$query = $gdataCal->newEventQuery();
$query->setUser($calendar_user);
Mais lorsque vous ajoutez un événement, vous ne pouvez pas faire cela, vous devez utiliser le $calendar_user au moment où vous insérez l'événement.
Voici donc le code complet
$calendar_user = 'o4g39j1hdihq4p8kdat2l4vgis@group.calendar.google.com';
$user = 'myemail@yahoo.com';
$pass = 'mygooglecalendarpassword';
$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME; // predefined service name for calendar
$client = Zend_Gdata_ClientLogin::getHttpClient($user,$pass,$service);
$gc = new Zend_Gdata_Calendar($client);
$newEntry = $gc->newEventEntry();
$newEntry->title = $gc->newTitle("mytitle");
$newEntry->where = array($gc->newWhere("meeting place"));
$newEntry->content = $gc->newContent("Meeting description");
$newEntry->content->type = 'text';
$when = $gc->newWhen();
$when->startTime = "{'2012-06-28'}T{'10:00'}:00.000{'-08'}:00";
$when->endTime = "{'2012-06-28'}T{'11:00'}:00.000{'-08'}:00";
$newEntry->when = array($when);
$createdEvent = $gc->insertEvent($newEntry, "http://www.google.com/calendar/feeds/".$calendar_user."/private/full");
Maintenant, j'espère que c'est utile. Je vous dis que cela m'a pris beaucoup trop de temps pour comprendre, mais je ne suis pas le gars le plus intelligent du monde.