嵌入的Google Calendar无法显示Free/Busy忙闲状态问题求助
Google日历嵌入仅显示忙闲状态不展示详情的解决方案
问题现象
- 将日历设置为「公开+仅查看Free/Busy忙闲状态」时,按规则共享时应当显示对应的忙闲信息(设置界面见下图):

- 测试者为普通Gmail用户,不存在域名权限限制
- 测试日历2021年9月27日存在标题为Test public event的日程,但嵌入页面后公开访问用户既看不到Free/Busy状态,也看不到日程名称
- 调整为「查看所有日程详情」权限时,嵌入日历可正常显示日程,但不符合隐私需求(效果对比见下图):

- 当前使用的嵌入代码如下:
<iframe src="https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffffff&ctz=Asia%2FKolkata&src=Y3AxZmZrYWM3a3IyZDQ3cDRsa29kYmx2Zm9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%23B39DDB&mode=MONTH" style="border:solid 1px #777" width="800" height="600" frameborder="0" scrolling="no"></iframe>
修复方法
这是Google日历嵌入工具的默认参数限制,你只需在现有iframe的src链接末尾追加&showOnlyBusy=1参数即可实现仅展示忙闲状态、隐藏所有日程详情的需求。
修改后的完整嵌入代码
<iframe src="https://calendar.google.com/calendar/embed?height=600&wkst=1&bgcolor=%23ffffff&ctz=Asia%2FKolkata&src=Y3AxZmZrYWM3a3IyZDQ3cDRsa29kYmx2Zm9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%23B39DDB&mode=MONTH&showOnlyBusy=1" style="border:solid 1px #777" width="800" height="600" frameborder="0" scrolling="no"></iframe>
配置校验项
如果添加参数后仍未正常显示忙闲状态,可检查两项配置:
- 日历全局权限:在Google日历设置的「访问权限」板块,确认已勾选「对公众可见」,且权限下拉选项选择为「仅查看忙/闲(隐藏详情)」
- 单条日程权限:确认对应测试日程未单独设置为私有,单条日程的权限配置优先级高于日历全局权限,单独设为私有后不会对外显示任何忙闲标识
内容的提问来源于stack exchange,提问作者Code Guy
相关产品推荐
相关产品推荐

