在 Google 的日历设置面板中有两类日历:我的日历和别人的日历。
两种日历
对于别人的日历,可以看到一个日历ID和两个可在网页上浏览的链接:
-
Calendar ID
它的链接形如这样:
example.com_83sfbo4t6pgoat4@group.calendar.google.com
。这个链接通常用于在同一个域内的用户之间相互共享。比如 iCloud 用户之间,G Suite 用户之间。
-
Public URL to this calendar
它的链接形如这样:
https://calendar.google.com/calendar/embed?src=en.hong_kong%23holiday%40group.v.calendar.google.com&ctz=Asia%2FHong_Kong
。这个链接用于直接在浏览器中打开直接查看。
-
Embed code
它的链接形如这样:
<iframe src="https://calendar.google.com/calendar/embed?src=en.hong_kong%23holiday%40group.v.calendar.google.com&ctz=Asia%2FHong_Kong" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>
这个链接用于把日历嵌入到 HTML 页面中作为页面的一部分来查看。
而对于自己的日历,则还可以看见另外两个标准 iCal 格式的日历协议链接:
-
Public address in iCal format
它的链接形如这样:
https://calendar.google.com/calendar/ical/your.name%40example.com/public/basic.ics
。注意链接中会出现你的邮箱地址。并且是一个 ics 的日历文件。
注意: 这个链接需要把日历设置成可公开访问才会有效。
-
Secret address in iCal format
它的链接形如这样:
https://calendar.google.com/calendar/ical/your.name%40example.com/private-293473635d03ab057283474ab5b/basic.ics
。注意链接中会出现你的邮箱地址。并且也是一个 ics 的日历文件。
注意:这个链接是私有链接,只要能拿到这个链接就能访问,不需要把日历设置成可公开访问。由于是 HTTPS 协议,所以也很安全,只要不把链接告诉别人。
iCalendar / ics 格式的日历简介
iCalendar 格式是一种开放的格式。它有一个好处就是:它是可订阅的。意思是说,拿到一个 ics 链接后,往日历里面一粘贴,就能同步日历。比如公司会议,节假日等。
让别人的日历也可订阅
我尝试了好久,终于在官方论坛找到了把不可订阅的链接转换成可订阅链接的方式:How to I move a calendar from my "Other Calendar" tab to my "My Calendar" tab?。
转换对象:从Public URL to this calendar到Public address in iCal format。
转换方式:用 Public URL to this calendar 链接中 src 参数的值替换掉 Public address in iCal format 中的邮箱地址即可。
比如:
取出 https://calendar.google.com/calendar/embed?src=en.hong_kong%23holiday%40group.v.calendar.google.com&ctz=Asia%2FHong_Kong
中的 en.hong_kong%23holiday%40group.v.calendar.google.com
,
把它放到 https://calendar.google.com/calendar/ical/******/public/basic.ics
中的星号处即可。
在 iPhone 中添加 ics 日历的订阅
按以下步骤操作即可:
- 打开设置(Settings)
- 密码与账户(Passwords & Accounts)
- 添加账户(Add Account)
- 其它(Other)
- 添加日历订阅(Add Subscribed Calender)
- 填写上面的替换后的 ics 链接即可
添加完后,稍等一段时间,可以看到日历中会出现此订阅的日历。