Google日历Feed - 仅显示今日活动

时间:2009-10-08 13:19:22

标签: xml xslt feed google-calendar-api yahoo-pipes

这是我在stackoverflow上的第一篇文章。我的问题是如何更改Google日历Feed,以便它只会自动显示当天的事件?

基本上我想要做的是将Feed输出到仅显示今天事件的网页上。饲料会逐日变化。我之前做过类似其他Feed(不是谷歌日历)的事情,除非在这些情况下,我会输出最新的“#”帖子。如果我今天只为今天展示活动,这将无效。

我在yahoo管道上搜索了一下,发现了一些过滤源的地方,你必须输入日期。除了我希望能够使其自动而不是让某人输入日期之外,这是有效的。阅读谷歌日历feed api,我也可以做一个日期范围,但是同样的问题,我必须手动指定范围。有没有办法自动化这个或其他替代方案?

我能做些什么xslt魔法吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

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

  1. 从您的Google日历中获取iCal Feed。 (正如其他人所评论的那样,Google日历提供的Atom供稿似乎并未以合理的结构化格式包含事件日期。)
  2. 根据DTSTART / DTEND值过滤Feed。您可以使用Date Builder模块获取当前日期,只需输入“今天”作为日期。
  3. example pipe(仅显示在接下来的24小时内开始的活动):

    iCal next 24 h

答案 1 :(得分:0)

这是由gdata

的样本给出的
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设置为同一天吗?

答案 2 :(得分:0)

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