現在、APIを使用してGoogle Calenadarデータにアクセスする必要があるプロジェクトに取り組んでいます。すべて正常に機能しますが、イベントの開始時刻/終了時刻を取得できません。最も重要な情報です。
ZendフレームワークとZend_Gdataライブラリを使用していますが、残念ながらzendのドキュメントは詳しく説明されていません。
必要なイベントデータを取得する方法は?または、別のライブラリを使用する必要がありますか?
イベントフィードを取得するための私の関数は次のとおりです。
public function getEvents($future_only = TRUE,$force_refresh = FALSE) {
if (($this->events != NULL) && $force_refresh == FALSE) {
return $this->events;
} else {
if ($this->getService() != NULL) {
$service = $this->getService();
try {
$query = $service->newEventQuery($this->url);
$query->setUser(null);
$query->setProjection(null);
$query->setVisibility(null);
$query->setOrderby('starttime');
if ($future_only) {
$query->setFutureevents('true');
} else {
$query->setFutureevents('false');
}
$event_feed = $service->getCalendarEventFeed($query);
$this->events = $event_feed;
return $event_feed;
} catch (Exception $exc) {
.
.
.
return NULL;
}
} else {
return NULL;
}
}
}
そして、イベント情報を取得しようとしているサンプルテストコード:
$gcalendar = new Common_Model_GoogleCalendar();
$events = $gcalendar->getEvents();
if($events){
foreach ($events as $evt) {
echo $evt->title.'<br />';
echo $evt->id.'<br />';
echo $evt->published.'<br />';
Zend_Debug::dump($evt->getWhen()); //returns empty array
}
}