Googleカレンダー - 通常のイベントのような繰り返しのイベントを表示します

StackOverflow https://stackoverflow.com/questions/1288117

質問

Googleカレンダーアカウントから次の20日間のイベントのリストを表示しようとしています。腹立たしい繰り返しのイベントは表示されていません(開始時間が古いためだと思います)。何か案は?

require_once dirname(__FILE__).'/../../../Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_HttpClient');
Zend_Loader::loadClass('Zend_Gdata_Calendar');

$service = new Zend_Gdata_Calendar();

$query = $service->newEventQuery();
$query->setUser('REMOVED');
$query->setVisibility('public');
$query->setProjection('full');
$query->setOrderby('starttime');
$query->setSortOrder('ascending');
$query->setFutureevents('true');
$query->setMaxResults(20); 

try { $eventFeed = $service->getCalendarEventFeed($query); }
catch (Zend_Gdata_App_Exception $e) { return; }

すべての公開イベントを昇順で取得する代替方法を受け入れることをいとわない。 RSSを試しましたが、日付はカレンダーに追加された時間のようです。

役に立ちましたか?

解決

投影は私が以前にプレイしたものです。それは助けにはなりません(私が繰り返されるイベントを手動で解析して爆発させたい場合を除きます)。しかし そのリンク 金色でした。

$query->setParam('singleevents','true');

彼らのドキュメントから:

シングルイベント

繰り返しのイベントを拡張するか、単一のイベントとして表現する必要があるかを示します。

有効な値は真(繰り返しイベントを展開)または偽(単一のイベントとして表される繰り返しイベントを残します)。デフォルトはfalseです。

私の意見では、 false 愚かなデフォルトですが、hey-hoです。今は機能しているようです!

他のヒント

これを変更:

$query->setProjection('full');

これに:

$query->setProjection('composite');

定期的なイベントを含むあらゆる種類の追加データを提供します。これは、GoogleカレンダーAPIリファレンスごとです。 http://code.google.com/apis/calendar/docs/2.0/reference.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top