2009-10-06 1 views
1

gdata API를 사용하여 공개 캘린더 피드에서 일부 이벤트 항목을 검색하고 싶습니다. 여기에 내가 사용하고 코드는 다음과 같습니다캘린더 용 Google Javascript 데이터 API - 이벤트 시간을 사용할 수 없음

var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0'); 

var feedUri = 'http://www.google.com/calendar/feeds/.../public/basic'; 
var gquery = new google.gdata.calendar.CalendarEventQuery(feedUri); 

gquery.setFutureEvents(true); 
gquery.setMaxResults(10); 

var callback = function(result) {  
    var entries = result.feed.entry;  
    for (var i = 0; i < entries.length; i++) { 
     var entry = entries[i]; 
     var title = entry.getTitle().getText(); 
     var times = entry.getTimes(); 
     alert("Title: " + title + " | Times: " + times); 
    }  
} 
calendarService.getEventsFeed(gquery, callback); 

내가 시간에 이벤트 시간을 찾아 것으로 예상

(URI Google 애플리케이션 일정에 대한) 공공 (또는 개인 XML-피드입니다 피드)이지만 빈 배열입니다. 실제 피드가 인 feedUri에는 시간 정보가 포함되어 있지 않기 때문에 어느 방식 으로든 논리적입니다.

질문 : 내가 잘못 뭐하는 거지

  • ? 이벤트 시간을 포함하는 캘린더 항목을 찾는 방법은 무엇입니까?
  • 완전히 쓸모없는 getTimes() 메소드가있는 이유는 무엇입니까?

답변

3

편집 : 방금 "기본"피드를 사용하는 것으로 나타났습니다. 대신 "전체"피드를 사용해 보셨습니까? 기본 피드에 대한 설명은 다음과 같습니다.

기본 Atom 피드 (확장자 없음) 요소. 그 및 속성에는 미리 렌더링 된 HTML이 포함되어 있습니다.

또한 단일 이벤트와 반복 이벤트에 대해 알고 있어야합니다. 반복되는 이벤트에 대한 정보는 getRecurrence()을 통해 제공됩니다. 개별 이벤트의 경우 getTimes()이 올바른 정보를 제공합니다.

API를 통해 정보가 표시되지 않으면 소스 데이터를 직접보고 거기에서 볼 수 있는지 확인하십시오.

+0

전체 피드를 사용하여 "문제"해결 : D –