Google日历错误地从.ics文件导入事件

时间:2017-06-12 03:54:09

标签: javascript google-calendar-api icalendar

因此,我使用Library将事件计划转换为ics / iCal文件。我添加了两个事件。生成的文件如下: -

DTSTAMP

现在,事件正在成功导入,但问题是它们是作为全天事件导入的。它们不遵循文件中提到的实际时间。

我还通过在线验证器传递了此文件,并提出错误,指出{ "name": "[Parameters('availabilitySetName')]", "type": "Microsoft.Compute/availabilitySets", "location": "[resourceGroup().location]", "apiVersion": "2016-04-30-preview", "sku": { "name": "Classic" }, "tags": { }, "properties": { "platformUpdateDomainCount": 1, "platformFaultDomainCount": 1 } }, 未定义。所以我自己将该字段添加到文件中,但结果仍然相同。我不明白发生了什么。请帮我。感谢

2 个答案:

答案 0 :(得分:1)

您可以参考此related thread

也许您是通过网址添加此日历而不是作为文件导入。可能时区未在数据中正确定义,因此最终效果是事件时间被视为浮动,并且将简单地绑定到新日历的Gcal默认时区,即UTC(无夏令时) GCal不允许您在按URL添加新时区时指定日历的时区。

您可以选择使用时区在帐户中创建新的辅助日历,然后在设置>日历>导入日历下将该URL导入该日历,然后将时间绑定到目标日历的时区。

答案 1 :(得分:1)

您正在使用全天的VALUE = DATE,尝试使用VALUE = DATETIME。

此外,您没有使用时区而且没有' Z'。如果您的日期是UTC时间,请添加Z.如果没有,则使用olson数据库中可接受的tzcode添加时区。这很可能只会影响你是否得到正确的时间。

如果您在遇到问题时再参考RFC5545规范,可能会有所帮助。 Google曾经彻底拒绝了很多无效的ics文件,但我想它现在正试图以某种方式理解它们。验证者不会陷阱。