我希望 Google 日历能够使用Webcal(维基百科)方案(传递 ICS 文件),类似于如何将 Gmail 设置为mailto:
链接的默认处理程序。
更具体地说,我希望 Google 日历将它们导入到我的主日历中。(您可以通过单击其他日历旁边的小箭头,从下拉列表中选择导入日历,导航到 .ICS 文件,然后选择导入,在 Google 日历中手动导入 ICS 文件。)
我不知道这是否可行,但我希望有人能有一个好主意。
答案1
在较新版本的 Chromium/Chrome 中,您需要登录谷歌日历并点击地址栏中重叠的菱形图标。
选择“使用 Google 日历”,然后点击完成。这会将 Google 日历注册为 Webcal 链接的处理程序。
注意:
您可能需要设置 Chromium 以允许网站成为默认协议处理程序。您可以通过以下方式进行设置:
- 高级设置 -> 隐私、内容设置 -> 处理程序
- 选择“允许网站请求成为协议的默认处理程序”
答案2
铬
当您首次登录 Google 日历时,Chromium 浏览器会提供此选项:
如果您不小心在No
这个问题上回答了,您可以按Wrench
工具栏按钮并转到Settings
。单击Show advanced settings
,找到Content settings...
(隐私标题后面)并找到Manage handlers
按钮。单击X
要删除的忽略协议旁边的。或者,您可以在 Chromium 设置的搜索框中输入。参见protocol handlers
下面的屏幕截图。
火狐
我找到了这个在 stackexchange 上发帖这解释了如何在 Firefox 中实现同样的事情,但这在 Firefox 12 和 15 上对我来说不起作用:如果我禁用“从不保存历史记录”选项(私人浏览模式),这对我有用:
转到 Google 日历的网站并按
Ctrl+Shift+K
。将其粘贴到 > 符号后面:
navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");
按下回车键并单击
Add application
工具栏下方出现的按钮。
您可能需要在尝试此操作之前将gecko.handlerService.allowRegisterFromDifferentHost
选项切换about:config
为true
(如果 Google 将您重定向到本地 Google 域)。请记住在调用 registerProtocolHandler 函数后将其返回为 false,因为恶意网站可能会利用这一点。查看详细信息这里。
答案3
截至 2020 年 1 月,我已解决这为了火狐执行以下操作:
- 关于:配置- 转变dom.registerContentHandler.enabled到真的;
- 打开Google 日历;
- 按Ctrl+Shift+K打开控制台;
复制以下代码,粘贴到控制台并按 Enter:
javascript:window.navigator.registerProtocolHandler(“webcal”,https://calendar.google.com/calendar/r?cid=%s","谷歌日历");
完成这些步骤后,您应该会在地址栏下方看到一个窗口宽度的条纹,询问您是否要将 Google 日历设置为默认的 webcal 处理程序。
在此之前,我尝试过使用尤达大师的解决方案,但没有成功——无论如何,欢呼吧,它启发了我仔细查看 about:config 条目并发现这种方法。
答案4
由于我遇到了与 OP 相同的问题,并且自从发布接受的答案以来情况发生了变化,所以我想分享我的发现。以下说明主要针对 Firefox,但除了一些小差异外,它们应该也可以在 Chrome 上运行。
[2019-03-08] 更新:反映新的 Firefox 行为
因为使用
javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");
在 Firefox 的控制台上显示
安全错误:权限被拒绝添加https://www.google.com/calendar/render?cid=%s作为协议处理程序
如今,这里有一种新方法可以“实现这一目标”:
- 导航至
about:config
,单击按钮确认风险。 - 类型
webcal
,将列表过滤为类型的项目gecko.handlerService.schemes.webcal.[...]
。 - 点击Edit所选项目右侧的按钮
[...].name
(因为30 盒曾是Firefox 67 已放弃,我选择了[...].0.name
) - 输入您想要的名称,例如 ,
Google Calendar
然后单击Save。 - 单击Edit相应
[...].uriTemplate
项目的按钮,即所编辑项目的正下方的按钮。 - 粘贴 URL
https://calendar.google.com/calendar/r?cid=%s
并单击Save。 - 依次点击≡、⚙ Options、⚙ General菜单选项,然后向下滚动到
Applications
段落。 webcal
通过在列表上方的搜索框中输入或滚动来搜索列表。- 单击条目右半部分的下拉菜单并选择
Use Google Calendar
(或在指令#4中选择的任何名称)。
测试日历:https://www.webcal.fi/en/calendars.php
HTH。如果没有,请在下面留言。