从iCal URL或文件(如Google日历)分析事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从iCal URL或文件(如Google日历)分析事件相关的知识,希望对你有一定的参考价值。

Thanx to Guillaume Laforge, who provided this code snippet of Groovy code in a GSP. The snippet below is more or less the same, less the html. It will show all future evens and create a eventMap for each event.
  1. import net.fortuna.ical4j.util.Calendars
  2. import net.fortuna.ical4j.model.component.VEvent
  3. import java.text.SimpleDateFormat
  4.  
  5.  
  6. def url = 'http://www.google.com/calendar/ical/jds6o8imt8qgtepchsmr72jhf4%40group.calendar.google.com/public/basic.ics'.toURL()
  7. def cal = Calendars.load(url)
  8.  
  9. def dayFormatter = new SimpleDateFormat("EEEEEEEE, MMMMMMMM dd'th' yyyy", Locale.US)
  10. def timeFormatter = new SimpleDateFormat('HH:mm', Locale.US)
  11.  
  12. def dates = []
  13. def now = new Date()
  14. log.debug("Total components in iCal file: ${cal.components.size()}" )
  15.  
  16. cal.components.findAll {it.startDate.date.time > now.time }.sort { it.startDate.date }.each
  17. {
  18. if (!it instanceof VEvent)
  19. {
  20. log.warn("Found event of class ${it.getClass()}, skipping!")
  21. }
  22.  
  23. def startDate = dayFormatter.format(it.startDate.date)
  24. def startTime = timeFormatter.format(it.startDate.date)
  25.  
  26. def eventMap = [
  27. startDate : startDate,
  28. startTime : startTime,
  29. location : (it.location.value) ? it.location.value : 'No Location',
  30. summary : it.summary.value,
  31. description : it.description.value
  32. ]
  33.  
  34. dates << eventMap

以上是关于从iCal URL或文件(如Google日历)分析事件的主要内容,如果未能解决你的问题,请参考以下文章

使用 EventKit 读取谷歌日历 ical 文件

Apple/Google 是不是提供 iOS 或 Android 中 iCal 现场支持的规范?

需要建立日历(iCal、outlook)链接的服务

使用EventStore,我可以创建一个新的iCal日历类型吗?

如何通过 API 将 URL 或 Zoom 会议 ID 添加到 Google 日历

使用私有 URL 和 google api v3 共享 google 日历活动