1

我想使用 gdata 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);  

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

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

问题:

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

1 回答 1

3

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

没有任何扩展元素的基本 Atom 提要。它的和属性包含预渲染的 HTML。

此外,您需要注意单个事件与重复事件。有关经常性事件的信息可通过 获得getRecurrence()。对于个别事件,getTimes()将给出正确的信息。

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

于 2009-10-06T06:19:58.940 回答