问题标签 [ical4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
349 浏览

java - cal4j。RFC5545。计算排除事件的发生

我检查ical4j库。有时我需要计算事件的发生。计算的有用示例在这里。我尝试添加排除

但是发生次数的计算没有改变。任何人都可以解决我吗?

0 投票
1 回答
349 浏览

java - cal4j。RFC5545。计算事件发生次数,持续时间破解

我检查ical4j库。有时我需要计算事件的发生。计算的有用示例在这里。我尝试转移start dateend date。原来start date20101113- 2010 年 11 月,星期六(它在模式上映射见BYDAY=...SA)。我想不在乎是否开始比赛。所以我使用start date了价值20101112- 2010 年 11 月,星期五(它不会在模式中的任何一天映射见BYDAY=MO,TU,SA

结果是

[20101112T000000Z/20101113T00000000Z,20101113T000000Z/P1D,20101129T000000Z/P1D,20101130T000000Z/P1D,20101204T000000Z/P1D

几乎和预期的一样(除了结果中的第一个周期20101112T000000Z/20101113T000000Z是多余的)。所以我继续研究如何排除一个。在调试模式下,我看到

尤里卡!我找到了检测生成集中冗余日期的标记(损坏的期间具有空持续时间)。我继续处理它过滤具有空值的时段。但是过滤器什么也没过滤。继续检查...

如您所见,类Periodprivate Dur durationpublic final Dur getDuration()。没有解决方法我无法访问duration...

问题是

我应该怎么做?

  1. 使用反射黑客来获得持续时间 - 丑陋的解决方案。
  2. 下载库源以更改Period类和重建库 - 遵循不良支持新库版本。
  3. 要求ical4j开发人员扩展Period外观——它需要时间来改变和发布。
  4. 使用持续时间破解toString(这是不可靠的解决方案)。
0 投票
1 回答
946 浏览

calendar - iCalendar - 一个 ics 文件必须包含所有事件的更新信息

请想象一下用户在 iCalendar 应用程序(例如 Outlook、Google 日历...)上导入 .ics 文件的上下文,然后,.ics 上的事件发生了一些信息更改(小时/日期更改,事件取消...) . 用户通过电子邮件收到其他 .ics 文件,其中包含最新的活动信息;他必须再次导入,这一次,必须更新过时的事件,以便用户始终拥有只有一个 .ics 文件的最新事件。所有信息都必须反映在一次导入中。

如何创建这个 .ics 文件以便 iCalendar 应用程序理解它并完成工作?

已编辑

请记住上面的上下文:一个用户(我们称之为“第一个用户”)通过电子邮件接收一个包含最新事件的 .ics 文件(我们称之为“first.ics”)。事件发生了变化。second.ics 文件是通过电子邮件发送的,但这次是针对第一个用户和第二个用户(不导入 first.ics 文件的新用户)。

如何创建这个 second.ics 文件以便 iCalendar 应用程序理解它并为第一个用户和第二个用户完成工作?

这两个用户必须拥有相同的最新信息。

0 投票
0 回答
128 浏览

java - 没有使用 caldav4j 从 Yahoo 扩展重复事件

我在使用 caldav4j 从 Yahoo 加载扩展事件时遇到了一个问题。从 2017 年 11 月 11 日到 2017 年 12 月 30 日,我有一个每周一发生的重复事件。

我正在为该范围创建查询并使用它进行扩展:

其中 gq 是GenerateQuery实例。

结果是我只得到了一个事件,我期待它会扩展到 9 个单个事件。我错过了什么吗?

这是发送到 Yahoo 的已创建查询:

我可能可以自己使用 ical4j 和 getPeriods() 来创建它,但如果有这个选项,那就太好了。

有任何想法吗?谢谢!

0 投票
1 回答
88 浏览

maven - 查找日期范围之间的事件

我目前在我的应用程序中使用 jfxtras iCalendarAgenda。我需要从 vcalendar 检索给定日期范围之间的事件列表。而且我需要它返回具有实际日期时间的事件,而不是在日期范围之间发生重复的事件。

我尝试过使用 ical4j 和他们的过滤器库。不幸的是,我没有成功尝试正确设置此插件,因为它似乎无法找到所需的依赖项。(我试着把它和它的依赖项放在我的 pom.xml 文件中)。我还发现了很多重复规则解析器,但不清楚它们是否支持 jfxtras 使用的 vevents 中的其他参数,例如重复 ID 和 exdates。我还发现可以使用 vfreebusy 对象来执行此操作,但我找不到更多信息。最后,我知道 jfxtras 必须在某处执行此操作,因此它知道要显示什么,但我找不到那在哪里,而且我找不到可以从他们那里执行此操作的方法。

寻找可以执行此操作的库或如何设置 ical4j 的链接。因为目前还不清楚如何使用 maven 进行设置。

0 投票
1 回答
664 浏览

java - 我无法使用 iCal4j 正确设置活动的日期

我正在使用 iCal4j 为 Spring Boot 应用程序生成预订日历,但所有日期都比应有的多一个月和少两天。

例如: iCal 中 22/03/2018 的 (dd/MM/yyyy) 我得到 20/04/2018

调试,我已经看到所有日期和值都没有问题。因此我猜问题从这个类的构造函数开始:

这是我的方法代码,其中日期的类型为 LocalDate

服务器位于法兰克福,java.util.Calendar类的构造函数获取中欧语言环境,这没问题。

0 投票
1 回答
580 浏览

ical4j - ical4j 库 org.mnode.ical4j 和 net.fortuna.ical4j 之间的区别

我们通过maven使用ical4j。在浏览mvnrepository时,我发现org.mnode.ical4j是 Maven 中央存储库中使用最多的ical4j库,它具有最新版本。虽然也有来自 3rd 方存储库的net.fortuna.ical4j 。

现在我很困惑,因为 ical4j 网络资源及其包结构建议使用 net.fortuna.ical4j。我应该使用哪一个,artifact org.mnode.ical4jnet.fortuna.ical4j 有什么区别?

0 投票
1 回答
1278 浏览

groovy - ical4j 2.2.0 使用 Grape,在加载日历时抛出 java.lang.NoClassDefFoundError: javax/cache/configuration/Configuration

以前我已经能够运行这个从 url.ics 读取事件的脚本

但是,现在我得到了这个异常java.lang.NoClassDefFoundError: javax/cache/configuration/Configuration

我假设发生了某种依赖关系变化。我已经注意到这一点

javax.cache.cache-api [可选*] - 支持缓存 timzeone 定义。* 注意:如果不包括在内,您必须为 net.fortuna.ical4j.timezone.cache.impl 配置设置一个值

但是,现在我得到了这个java.lang.NoClassDefFoundError: Could not initialize class net.fortuna.ical4j.validate.AbstractCalendarValidatorFactory

任何帮助表示赞赏。

0 投票
1 回答
1512 浏览

java - 使用 iCal4j 库 (Java - Spring) 发送日历事件(邀请)

这个问题与 iCal4j 库与 Java (Spring) 应用程序的集成有关。

用例- 在我的应用程序中,当用户从 UI 创建事件时,受邀者应该会收到日历邀请,他们可以通过单击事件将其添加到他们的个人日历(Google 日历、Outlook 日历甚至 Thunderbird 日历)中. 此外,活动组织者应收到同一活动的日历邀请。

关注- 当与会者通过电子邮件收到以正确格式(Google 日历、Outlook 和 Thundarbird)创建的活动的日历邀请时,组织者会收到一封带有附件 (invite.ics) 的空电子邮件。请注意,此问题仅在 Gmail 邮件和 Outlook 邮件客户端中出现。在 Thunderbird 中,即使是组织者也会收到完整的活动请求。(请参阅随附的代码片段和图像以获得进一步说明)。

请让我知道如何解决此问题或我可以用来完成此操作的任何替代库或解决方案。

提前致谢。

使用 Thunderbird 邮件客户端的组织者收到的电子邮件

使用 Google 邮件客户端的组织者收到的电子邮件

使用 Google 邮件客户端的受邀者收到的电子邮件

0 投票
2 回答
767 浏览

java - 以前工作的日历邀请已停止为 Outlook 电子邮件客户端工作,但为 Gmail 客户端工作

我正在使用 Sendgrid 发送电子邮件和 Ical4j 库来创建日历邀请。下面提到的代码几个月前运行良好,所有发送的日历邀请也显示了所有必需的东西,例如;接受/拒绝按钮、开始和结束日期等,一旦通过任何电子邮件客户端(主要是 Outlook 和 Gmail)接收。但是现在我可以通过此代码发送日历邀请,但是一旦通过 Outlook 电子邮件客户端收到它(它在 Gmail 上运行良好);它显示为 (.ics) 附件,而不是所有必需的日历邀请控件。

我确实尝试了几种方法,但都没有奏效。

用于参考的链接

下面是使用 sendgrid api 发送日历邀请的 java 代码

我尝试发送的日历邀请