1

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

基本上我想要做的是将提要输出到只显示今天事件的网页上。饲料每天都在变化。我之前对其他提要(不是谷歌日历)做过类似的事情,除非在这些情况下,我会输出最近的“#”个帖子。如果我只显示今天的事件,这将不起作用。

我在 yahoo 管道上进行了搜索,发现了一些它使用您必须输入的日期过滤提要的地方。这有效,除了我希望能够使其自动而不是让某人输入日期。阅读谷歌日历提要api,我也可以做一个日期范围,但这是同样的问题,我必须手动指定范围。有什么方法可以自动执行该操作或其他替代方法吗?

我可以做一些 xslt 魔术吗?

谢谢您的帮助!

4

3 回答 3

2

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

  1. 从您的 Google 日历中获取 iCal 供稿。(正如其他人评论的那样,谷歌日历提供的 Atom 提要似乎没有以合理的结构化格式包含活动日期。)
  2. 根据 DTSTART/DTEND 值过滤提要。您可以使用日期生成器模块获取当前日期,只需输入“今天”作为日期。

示例管道(仅显示在接下来的 24 小时内开始的事件):

iCal 下一个 24 小时

于 2009-10-10T08:55:26.240 回答
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 设置为同一天?

于 2011-09-06T11:15:45.940 回答
0

您所做的是设置 atom 提要的 url 参数—— start-min 到今天, start-max 到明天——另外,请注意,您需要经过身份验证才能使其工作。

于 2012-08-06T16:45:46.867 回答