【问题标题】:What is wrong with this TapKey ICalendar object?这个 TapKey ICalendar 对象有什么问题?
【发布时间】:2022-11-02 17:25:08
【问题描述】:

我正在尝试 Put / Patch 赠款,但得到一个 Ical 异常。这有什么问题:

开始:VCALENDAR

产品:产品

版本:2.0

开始:事件

DTEND;TZID=欧洲/阿姆斯特丹;VALUE=DATE:30001231

DTSTAMP:20221028T151844

DTSTART;TZID=欧洲/阿姆斯特丹;VALUE=DATE:20220824

序列:0

UID:f03cdae7-8475-40b5-8521-c902d736e508

结束:事件

结束:VCALENDAR

问候,

【问题讨论】:

  • 过去,它正在工作。后来它没有用,经过很长时间,我发现我突然需要在结束日期添加一个TZID。比它奏效了。现在它再次停止工作。这次我没有时间去找出问题所在。自一周左右以来发生了什么变化?有没有办法针对您的后端测试 ICAL 对象?是否有发布说明博客/网页说明对 API 所做的更改以防止将来发生这种情况?

标签: tapkey


【解决方案1】:

您的 ICAL 的问题是 DTEND 值的年份为“3000”。

你是对的,这个 ICAL 以前被接受,即使它不受支持。我们最近对此进行了更改,并错过了有人对此进行了指定,当然,为此我们深表歉意。

具有如此长时间跨度的 ICAL 授权在锁上计算起来很繁重,并且可能导致意想不到的结果,例如授权在 10 年后无效。 可以通过 ICAL 指定的最大时间跨度为 68 年,市场上现有的锁具。

当不使用递归,而是简单的 DTSTART/DTEND 时,建议使用validFrom/validBefore组合而不是 ICAL,在锁上计算更简单。 在您的情况下,validBefore 将为空,表示“无限”。 我们还建议您更新在 ICAL 中拥有 3000 年的现有赠款,以避免将来出现任何问题。

对于您关于 API 更改文档的问题,我们当前的 API 版本始终是最新的,并记录在 developers.tapkey.io 上。我们不是故意引入重大更改,但在这种情况下,这是一个错误。再次,对于给您带来的不便,我们深表歉意。

没有特定的端点来测试 ICAL,您可以做的是尝试创建一个测试授权,即为您自己创建一个测试授权,然后将其删除。

感谢您的反馈,在这种情况下,我们也会尝试改进错误消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2012-05-26
    • 2021-08-20
    • 2015-09-23
    相关资源
    最近更新 更多