2012-04-12 7 views
0

現在、私はAPIを使用してGoogle Calenadarデータにアクセスする必要があるプロジェクトに取り組んでいます。すべて正常に機能しますが、イベントの開始時刻と終了時刻を取得できません。Zend_Gdataを使ってGoogleカレンダーのイベント開始を取得するには?

私は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 

      } 
      } 

答えて

5

わからないあなたが今することによって、これをソートしているが、@アシュリーの貢献に加えて、これは仕事にgetWhen()を取得する方法である場合:

$when = $evt->getWhen(); 
echo $when[0]->getStartTime(); 
echo $when[0]->getEndTime(); 
0

あなたの変数$eventsZend_Gdata_Calendar_EventEntryのインスタンスになりますこれは、getWhenを持つZend_Gdata_Kind_EventEntryを継承しています。

すなわち:

$when = $evt->getWhen();

http://framework.zend.com/manual/en/zend.gdata.calendar.html

+0

残念ながら、これは私が今やっていることであり、うまくいかないようです - サンプルコードを見てください。 – stawek

関連する問題