关于xml:Google日历Feed-仅显示今天的活动

Google Calendar Feed - Only Show Today's Events

这是我在stackoverflow上的第一篇文章。我的问题是如何更改Google日历供稿,使其仅自动显示当天的事件?

基本上我想做的是将提要输出到仅显示今天事件的网页上。提要每天都在变化。除那些情况外,我已经与其他供稿(不是Google日历)进行了类似的操作,否则将输出最新的"#"帖子。如果我仅显示今天的事件,这将不起作用。

我在yahoo管道上进行了搜索,发现其中一些过滤器使用您必须输入的日期来过滤供稿。除了我希望能够使其自动而不是让别人输入日期之外,此方法有效。阅读Google日历供稿api,我还可以做一个日期范围,但这是同样的问题,我必须手动指定范围。有什么办法可以自动执行此操作或其他替代方法?

我可以做一些xslt魔术吗?

感谢您的帮助!


您可以在Yahoo Pipes中执行此操作:

  • 从您的Google日历中获取iCal提要。 (正如其他人所评论的那样,Google日历提供的Atom提要似乎没有以合理的结构格式包含事件日期。)
  • 根据DTSTART / DTEND值过滤供稿。您可以使用日期生成器模块获取当前日期,只需输入"今天"作为日期即可。
  • 示例管道(仅显示在接下来的24小时内开始的事件):

    iCal


    您要做的是设置原子供稿的url参数-从start-min到今天,从start-max到明天-另外,请注意,您需要进行身份验证才能使其正常工作。


    这是由gdata

    的示例给出的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    private static void dateRangeQuery(CalendarService service,
      DateTime startTime, DateTime endTime) throws ServiceException,
      IOException {
    CalendarQuery myQuery = new CalendarQuery(eventFeedUrl);
    myQuery.setMinimumStartTime(startTime);
    myQuery.setMaximumStartTime(endTime);

    // Send the request and receive the response:
    CalendarEventFeed resultFeed = service.query(myQuery,
        CalendarEventFeed.class);

    System.out.println("Events from" + startTime.toString() +" to"
        + endTime.toString() +":");
    System.out.println();
    for (int i = 0; i < resultFeed.getEntries().size(); i++) {
     CalendarEventEntry entry = resultFeed.getEntries().get(i);
     System.out.println("\\t" + entry.getTitle().getPlainText());
    }
    System.out.println();

    } ??

    我认为您可以将minitime和maxtime设置为同一天?