代码之家  ›  专栏  ›  技术社区  ›  Martin Thurau

用于日历的Google javascript数据API-事件时间不可用

  •  1
  • Martin Thurau  · 技术社区  · 15 年前

    我想使用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应用程序日历的公共(或私有)XML源)

    我希望能在 时代 但它是一个空数组。这在某种程度上是合乎逻辑的,因为 馈电线 不包含任何时间信息。

    问题:

    • 我做错什么了?如何检索包含事件时间的日历条目?
    • 为什么有一个方法getTimes()如果它是完全无用的?
    1 回复  |  直到 15 年前
        1
  •  3
  •   Jon Skeet    15 年前

    编辑:我刚看到你使用的是“基本”订阅源-你尝试过“完全”订阅源吗?基本馈送的描述是:

    不带任何扩展的基本原子馈送 元素。其及其 属性包含 预渲染的HTML。

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

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