Получение канала Zend_GData для определенного Google Calendar

У меня был долгий подробный вопрос о том, как получить канал события определенного календаря, но изображенный (я думаю), решение, прежде чем я отправил. Однако даже с решением меня оставляют, задаваясь вопросом, что я пропускаю об этом процессе. Чтобы получить канал события единственного календаря (или искать тот канал), я делаю следующее:

  • Пройдите проверку подлинности (очевидно),
  • Получите список Календарей: getCalendarListFeed ();
  • Получите идентификационное свойство от одного из 'календарных' объектов
  • Изменение:.../calendar/feeds/default/XXX%40YYY
  • Кому:.../calendar/feeds/XXX%40YYY/private/full
  • Передача это к getCalendarEventFeed () для запросов для того календаря.

Почему я должен управлять идентификатором? Кажется, что документация для Zend_Gdata распространена и по сайтам Google и по Зенда. Я не определил местоположение хорошей ссылки на доступных свойствах от getCalendarListFeed (), поэтому возможно, я должен захватить что-то другое, чем идентификатор?

Кажется, что должно быть больше простого пути - что я пропускаю здесь?

5
задан Tim Lytle 4 December 2009 в 19:39
поделиться

2 ответа

Я искал ответ на этот же вопрос и в конце концов придумал следующее:

$service = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
$Client = Zend_Gdata_ClientLogin::getHttpClient('googleaccount','googlepass',$service);
$Service = new Zend_Gdata_Calendar($Client);

$Query = $Service->newEventQuery();
$Query->setUser('calendarid'); # As you know, you can obtain this with getCalendarListFeed()
$Query->setVisibility('public');
$Query->setProjection('full');
$Query->setOrderby('starttime');
$Query->setFutureevents('true');

Часть, которая сбила меня с толку вначале, состояла в том, что "пользовательская" часть вызова на самом деле является идентификатором календаря. Затем вы можете сделать что-то вроде:

$events = $Service->getCalendarEventFeed($Query);
foreach ($events as $Event)
{
   // work with Event object here...
}

(Вышеуказанное действительно должно быть заключено в попытку/привлечение, но я слишком ленив, чтобы сделать это здесь)

.
2
ответ дан 14 December 2019 в 19:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: