7

有人会碰巧知道 Google 日历在订阅 iCalendar 提要在安全的 https 地址上服务时是否存在问题?

我正在开发一个在 https 地址上运行的网站,该网站具有用户可以订阅的 iCalendar 提要。该提要在 Outlook 和 iCal 中运行良好,但在 Google 日历中却不行。当用户尝试订阅提要时,他们会收到错误消息“Could not fetch the URL”

我怀疑提要或生成的 iCalendar 数据有问题,所以我运行了通过多个验证器生成的 .ics 文件,它们都很好。为了排除提要本身的错误,我将生成的 .ics 文件放在服务器上,以查看静态文件是否可以工作,并且在 Google 日历中也失败了。然后我将文件放在不安全(http)url后面的完全不同的服务器上,这很有效!

所以我开始怀疑httpS是问题所在。服务器的证书是有效的,所以应该不会造成任何问题。此外,验证器可以很好地访问提要(和静态文件)。

这个谷歌小组讨论表明其他人也有类似的怀疑:http ://productforums.google.com/forum/#!topic/calendar/61-eUd-fyrg

问题是,该站点必须在 https 上运行,所以我不能只切换到 http 来使提要工作。

因此,如果有人有任何信息证实或反驳我的理论,或者有任何关于其他可能导致这些问题的想法,我将不胜感激。

4

6 回答 6

11

我可以确认(今天)Google 日历可以成功订阅 HTTPS iCal 提要。

您可以通过添加以下 URL 自行测试:https ://events.stanford.edu/byCategory/2/eventlist.ics

为了更加确定,我还做了另一个测试,给它一个 HTTPS url,如果你替换 https -> http ,它也不起作用。这也很好,所以在所有情况下,HTTPS 都应该工作。

在我的测试中不起作用的是

  • HTTP Authentication ( https://myusername:mypw@example.com/) - 我得到“Could not fetch URL” - 但这不是这个问题要问的。
  • 任何超过 256 个字符的 URL。但是,使用链接缩短器(例如 goo.gl)可以解决此问题。
于 2013-03-22T00:42:43.350 回答
7

Google 已确认这确实是 HTTPS 的问题,即 Google 日历无法从外部加密 (https) URL 订阅 iCalendar 提要。

我的雇主在 Google 有一个企业帐户,我们向 google 的企业支持提出了支持请求,其中包含示例提要和我们自己对问题的评估。

今天,我们终于得到了正确的答案,确认了我们的初步分析,并通知我们已通知正确的技术团队,并且已打开内部功能请求(用于支持来自 https-urls 的提要)。

我们没有得到任何修复的时间表,但我要求他们在问题解决后与我们联系。收到后,我会将该信息添加到此答案中。

于 2012-11-05T10:38:13.643 回答
1

我们在案例中发现的问题是 Google 日历当前忽略了 URL 中的 HTTPS 指示,而是通过 HTTP 访问。如果您的 HTTP 请求重定向到 HTTPS 或仅通过 HTTP 提供内容,那么它将起作用。如果您有防火墙阻止端口 80,那么事情就会挂起,游戏就结束了。

TL;DR:如果您的 URL 与 https 一起使用 http,那么当您将其输入为 https 时,它将与 Google 日历一起使用。(假设 robots.txt 不限制访问。)否则,它将失败。

于 2014-03-06T17:34:48.640 回答
1

截至 2020 年 1 月,该问题似乎已得到解决 - Google 日历在订阅和更新有效的 RFC5545 日历时似乎没有问题。icalender.org验证器运行良好,可以测试文件和链接(订阅)。

于 2020-01-11T23:39:53.220 回答
0

如果服务器有一个 robots.txt 阻止谷歌,这也是我谷歌日历失败的原因。那么,您是否尝试过查看您的 https 服务器的 robots.txt?

话虽这么说,并不是 google calendar + https 的限制,因为 google calendar 为其 .ics 文件的“私人地址”提供 https 并且它也可以接受来自 google.com 的 https(尽管这只是许多其他配置中的一种配置可能的)。

于 2012-10-15T17:40:29.960 回答
0

我遇到了很多困难:

令人沮丧的是,下载的文件会在 Google 日历或 iCal 中打开,但也不会作为提要加载。当我通过 URL 添加时,我会在 Google 日历中收到这些错误:“无法从(站点名称)导入日历”或“无法获取 URL”。

这是我必须做的:

有事件的持续时间或结束时间,而不是两者。

我还必须从标题中删除它: content-disposition: attachment; 文件名=Schedule.ics;

此外,要检查它是否有效,请使用 Google ical 验证器。

于 2014-01-26T09:28:37.860 回答