适用于日历的Google Javascript Data API - 活动时间不可用

时间:2009-10-06 06:14:29

标签: javascript gdata

我想使用gdata API从公共日历Feed中检索一些事件条目。这是我正在使用的代码:

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);  

(Feed URI是Google Apps日历的公共(或私有)XML Feed)

我希望在中找到事件时间,但它是一个空数组。这在某种程度上是合乎逻辑的,因为 feedUri 中的实际Feed不包含任何时间信息。

问题:

  • 我做错了什么?如何检索包含事件时间的日历条目?
  • 为什么有一个方法getTimes(),如果它完全没用?

1 个答案:

答案 0 :(得分:3)

编辑:我刚刚看到你正在使用“基本”Feed - 您是否尝试过“完整”Feed?基本Feed的描述是:

  

没有任何扩展名的基本Atom Feed   元素。它和    属性包含   预呈现的HTML。

此外,您需要了解单个事件与重复事件。有关周期性事件的信息可通过getRecurrence()获得。对于个别活动,getTimes()会提供正确的信息。

如果您没有通过API查看信息,请尝试直接查看源数据,看看是否可以在那里看到。