Google 日历按 URL 要求添加

问题描述 投票:0回答:3

我正在尝试通过“按 URL 添加”方法添加 Google 日历。我从 Google 日历收到一般错误“无法在‘我的网址’为‘我的用户名’添加导入的日历”。我添加到 Google 的 URL 调用发送回 .ics 文件的 Restful 服务。我可以在此处验证我的 URL: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:[email protected]
SUMMARY:Burns JRSR High School FH C V Home Rocky Mountain High School 
LOCATION:Home
DESCRIPTION:
END:VEVENT
END:VCALENDAR
coldfusion google-calendar-api coldfusion-9 icalendar
3个回答
7
投票

这里同样的问题。我有一个很长的 URL,其中包含大量编码数据,但我确信该 URL 100% 符合规范。在服务器日志中,我可以看到 Google 甚至没有尝试加载提要,它只是以一般错误拒绝了它。不幸的是,就像不久前的 MSIE6 一样,谷歌太大了,不容忽视,他们可以逃脱任何惩罚,所以现在这是我要解决的问题。

我尝试了以下方法:

  • 将 .ical 添加到 URL;
  • 将 URL 编码数据编码为十六进制;
  • 添加随机参数以避免缓存;
  • 使用新创建的子域而不是子文件夹;

也许还有更多我不记得的了。都没用。

最后我使用了新的子域,并将所有编码数据写入一个文件中,如

user7subscriptions.txt
。现在 URL 如下所示:http://ical.example.net/?id=7。这有效。没有明显的原因,一个非常短的 URL 就可以了。

与本文内容无关。数据从未改变,不可能是 Google 的缓存不好(我会看到他们会缓存的请求,但从来没有)。


1
投票

好吧,这是最奇怪的。我遇到了或多或少相同的问题:有一个 ics feed,尝试使用“按 url 添加”将其添加到 Google 日历,但收到一般错误“无法添加导入的日历”。

我在网上搜索了一下,发现了一些前段时间相关的未解决的问题。很多人抱怨此功能的不可预测性。

在建议的事情中,我尝试弄乱标题,包括将提要作为文件附件,实际上将文件写入磁盘并为 Google 日历提供静态链接。什么都没起作用。在某个时候,我终于注意到 Google 日历甚至没有尝试获取提要,因为没有命中到达 URL,并且服务器上不会显示任何日志。

所以我开始使用请求箱和本地隧道进行测试。还是一无所获。最后,我打开浏览器控制台,尝试查看当您按“按网址添加”时 Google 日历网站发出的请求...我的提要已导入!

我对此没有任何合乎逻辑的解释。我希望我对所有 Google 日历“按网址添加”问题有一个完美的答案,但此时我只能添加我自己的经验,希望它对遇到同样困难的其他人有用。

现在我的 feed 是用优秀的 Sabre/vObject 库构建的。但它甚至没有得到任何在线验证器的验证。我倾向于认为这些已经过时了,而我的提要实际上相当不错。此外,我可以在 Mac 的 iCal 中导入相同的提要,并使用“导入文件”选项将其事件导入 Google 日历。

我对此的看法是,Google 日历大量使用“缓存”,而最困难的部分是在系统中获取您的提要。一旦到达那里,你应该就没事了。日历源大约每 8 小时左右更新一次,这一事实是众所周知的并且有记录。也许打开 chrome 检查器确实有帮助。更奇怪的事情发生了。

但是我可以确认的是,大多数其他事情并不重要:我不使用文件附件,标题显示“Content-Type:text/calendar; charset = UTF-8”。我的 feed 并不完美,例如它有一些空的 UID。另外,真正使其工作的服务器命中是在我成功导入提要时发出的,因此这里没有时间因素,并且 IP 来自 Google,因此没有客户端获取。


0
投票

2023: 确保您使用的是 http 而不是 https

© www.soinside.com 2019 - 2024. All rights reserved.