7

我在网站上有一个链接,可让用户将 ICS 提要添加到他们的谷歌日历。使用此代码:

http://www.google.com/calendar/render?cid=https://<etc>

它工作了3-4年,但不再有效。谷歌给我的信息是:

This email address isn't associated with an active Google Calendar account: https://<etc>

如果我手动输入 ics 提要,一切正常:提要按应有的方式解析。没有错误。

知道在哪里可以解决这个问题吗?

4

5 回答 5

8

我也有这个问题。你解决了吗?

我的测试表明它在使用带有http的 URL 时有效,例如:

www.google.com/calendar/render?cid=http%3A%2%2Fwww.example.com%2FCalendar%2FPublic%2520Events.ics

不适用于https,例如:

www.google.com/calendar/render?cid=https%3A%2%2Fwww.example.com%2FCalendar%2FPublic%2520Events.ics

我的解决方法是在链接中使用 http,但将其重定向到 Web 服务器中的 https。不是很优雅,但它有效。GET 不会被加密,但至少答案是。

编辑:实际上,如果您不进行比通过查询字符串参数更多的身份验证,那么通过 http 而不是 https 发送 GET 可能是一个巨大的安全风险,这对于日历提要来说可能很困难。任何可以嗅探 GET 的人都可以自己通过 https 发送相同的请求。

于 2014-01-19T14:33:44.697 回答
1

现在它可以工作,即使是https.

https://www.google.com/calendar/render?cid=https%3A%2F%2Fwww.example.com%2FCalendar%2FPublic%20Events.ics
于 2016-06-23T21:38:57.460 回答
1

日历地址使用webcal协议:

https://www.google.com/calendar/render?cid=webcal%3A%2F%2Fwww.example.com%2FCalendar%2FPublic%20Events.ics
于 2018-05-29T17:30:25.767 回答
1

好的,所以对我来说,此页面上的其他答案均无效。但我用其他一些零碎的东西弄清楚了:

链接到我的日历的 ics:

https://example.com/calendar?id=a304036ea5a474ee5d80a100d79c231c

将其链接到 Google 日历的正确方法:

https://calendar.google.com/calendar/r?cid=webcal%3A%2F%2Fexample.com%2Fcalendar%3Fid%3Da304036ea5a474ee5d80a100d79c231c

这里的关键是使用webcal协议而不是https协议来添加它。

希望这对任何人都有帮助。

于 2018-09-21T14:48:55.613 回答
0

他们变得更加严格。现在你必须使用

http://www.google.com/calendar/render?cid=http%3A%2F%2Fwww.example.com%2FCalendar%2FPublic%2520Events.ics

注意编码。

于 2012-11-23T02:29:45.247 回答