Я боролся с этим некоторое время, и я, наконец, заставил его работать. Это не красиво упаковано, но это ответ, который я искал
Сначала вам нужно получить идентификатор календаря. Если вы войдете в свой календарь и щелкните значок стрелки вниз рядом с именем, вы увидите параметр «Настройки календаря». Выберите этот пункт меню. Внизу вы увидите адрес календаря. Поиск идентификатора календаря займет некоторое время, и он будет выглядеть примерно так.
(идентификатор календаря: [email protected])
Вы хотите [email protected]
Down the road I will want to get this in php but for now I can hard code. So I set a variable to this
$calendar_user = '[email protected]';
При получении событий вы установите User следующим образом
$gdataCal = new Zend_Gdata_Calendar($client);
$query = $gdataCal->newEventQuery();
$query->setUser($calendar_user);
Но когда вы добавляете событие, вы не можете этого сделать, вы должны использовать $calendar_user в том месте, где вы вставляете событие.
Итак, вот полный код
$calendar_user = '[email protected]';
$user = '[email protected]';
$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");
Теперь я надеюсь, что это полезно. Говорю вам, мне потребовалось слишком много времени, чтобы понять это, но я не самый умный парень в мире.
person
Kurt
schedule
29.06.2012