我正在尝试通过“按地址添加”方法添加Google日历。我收到一般错误"无法在我的网址'添加导入的日历为了我的用户名' "来自Google日历。我添加到Google的网址会调用发送回.ics文件的Restful服务。我可以在此处验证我的网址:http://severinghaus.org/projects/icv/并在此处:http://icalvalid.cloudapp.net/ Google日历预计会收到哪些内容我错过了什么?
这些是我要返回的.ics文件的内容:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Bryan G LLC//Bryan G Calendar 2014.4.30//EN
X-WR-CALNAME:Bryang Calendar
X-WR-TIMEZONE:America/New_York
BEGIN:VTIMEZONE
TZID:America/New_York
X-LIC-LOCATION:America/New_York
BEGIN:DAYLIGHT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20140505T131700Z
DTSTART;TZID=America/New_York:20140725T084500
DURATION:PT2H
UID:1248@bryang.net
SUMMARY:Burns JRSR High School FH C V Home Rocky Mountain High School
LOCATION:Home
DESCRIPTION:
END:VEVENT
END:VCALENDAR
答案 0 :(得分:2)
好的,所以这是最奇怪的。我遇到了或多或少相同的问题:有一个ics提要,试图通过“添加网址”将其添加到Google日历,得到一般错误“无法添加导入的日历”。
我在网上搜索,发现了一些相关未解决的问题。很多人都在抱怨这种功能的不可预测性。
在建议的内容中,我尝试弄乱标题,包括将Feed作为文件附件,实际将文件写入磁盘并为Google日历提供静态链接。没有任何效果。在某些时候,我终于发现Google日历甚至没有尝试获取Feed,因为没有命中到达网址,服务器上也没有显示任何日志。
所以我开始使用请求bin和本地隧道进行测试。仍然一无所获。最后,我打开浏览器控制台,尝试查看Google日历网站上的“按网址添加”时发出的请求...我的Feed已导入!
我没有合理的解释。我希望我对所有Google日历“Add By Url”问题都有一个完美的答案,但在这一点上,我只能添加自己的经验,希望它对同样有困难的其他人有用。
现在我的Feed是使用优秀的Sabre/vObject库构建的。但它甚至没有得到任何在线验证器的验证。我倾向于认为那些已经过时,我的饲料实际上非常好。此外,我在Mac的iCal中导入相同的Feed并使用“导入文件”选项在Google日历中导入其事件时没有任何问题。
我对此的看法是,Google日历使用了很多“缓存”,最困难的部分是将您的Feed添加到系统中。一旦它在那里,你应该没事。 icalendar feed仅每8小时左右更新一次的事实是众所周知的documented。也许打开镀铬检查员实际上有所帮助。发生了奇怪的事情。
然而,我可以确认的是,大多数其他事情并不重要:我不使用文件附件,标题为“Content-Type:text / calendar; charset = UTF-8”。我的Feed并不完美,例如它有一些空的UID。此外,实际上使其工作的服务器命中是在我成功导入订阅源时发布的,因此这里没有时间因素,而且IP来自Google,因此没有客户端提取。例如。
答案 1 :(得分:2)
这里的问题相同。我有一个很长的网址,包含大量编码数据,但我确定网址是100%遵循规范。在服务器日志中,我可以看到Google甚至没有尝试加载Feed,它只是通过一般错误拒绝了它。不幸的是,就像MSIE6不久前一样,谷歌太大了,无法忽视它们,它们可以侥幸逃脱,所以现在我的问题就解决了。
我尝试了以下内容:
也许更多我不记得了。一切都没用。
最后,我使用了新的子域,并将所有编码数据写入文件。现在,URL看起来像这样:http://ical.example.net/?id=7。这有效。没有明显的原因,一个非常短的URL将起作用。
它与ical内容无关。数据从未改变,谷歌得到了一个糟糕的缓存(我会看到他们会缓存的请求,从来没有一个)。