Google日历作为iCal / ICS文件的网络协议的默认处理程序

我希望Google Calendar能够使用Webcal(维基百科)方案打开URI(提供ICS文件),类似于Gmail可以设置为mailto: links的默认处理程序。

更具体地说,我希望Google日历能够将它们导入我的主日历。 (您可以通过单击“其他日历”旁边的小箭头,从下拉列表中选择“导入日历”,导航到.ICS文件,然后选择“导入”)来手动导入Google日历中的ICS文件。)

我不知道这是否可能,但我希望有人会有一个好主意。

首次登录Google日历时,Chrome浏览器会提供此选项:

Chromium浏览器中的Google日历可用于处理网络协议

如果您在此问题上意外回答“ No ”,则可以按“ Wrench工具栏按钮并转到Settings 。 单击Show advanced settings ,查找Content settings... (在隐私标题之后)并找到Manage handlers按钮。 单击要删除的忽略协议旁边的X 或者,您可以在Chromium设置中键入protocol handlers搜索框。请参阅下面的屏幕截图。

在Chromium浏览器中撤消忽略协议处理程序

火狐

我在stackexchange上发现了这篇文章,它解释了如何在Firefox中实现同样的function, 但这对我在firefox 12和15上不起作用:如果我禁用“从不保存历史记录”选项(私密浏览模式),这对我有用:

转到Google日历的网站,然后按Ctrl+Shift+K

在>符号后粘贴:

navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");

按enter键并单击工具栏下方的“ Add application按钮。

Firefox控制台

Firefox接受协议hanlder

在尝试此操作之前,您可能需要将about:configgecko.handlerService.allowRegisterFromDifferentHost选项切换为true (如果Google将您重定向到本地google域)。 请记住在调用registerProtocolHandler函数后将其返回false,因为恶意站点可能会利用它。 详情请见此处 。

在较新版本的Chromium / Chrome中,您需要登录Google日历并点击地址栏中的重叠菱形图标。

截图

选择“使用Google日历”,然后点击“完成”。 这将注册谷歌日历作为网络链接的处理程序。

注意:
您可能需要设置Chromium以允许站点成为默认协议处理程序。 你可以这样做:

  1. 高级设置 – >隐私,内容设置 – >处理程序
  2. 选择“允许站点要求成为协议的默认处理程序”

因为我遇到了与OP相同的问题,并且自从接受的答案发布以来情况发生了变化,我想我会分享我的发现。 以下说明主要针对Firefox,但除了差异很小之外,它们也适用于Chrome。

[2018-05-08]更新:反映新url

  1. 导航到Google日历 。
  2. CTRL + SHIFT + K打开Firefox的控制台。
  3. 在提示符(位于覆盖窗口的底部),插入以下命令并按ENTER键 (不要添加空格,因为它会破坏命令):

     javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar"); 
  4. 单击显示的通知栏右侧的“ 添加应用程序”按钮(位于url栏下方,也称为“awesome bar”): 出现通知栏的屏幕截图
  5. 通过连续单击⚙选项🚀应用程序菜单选项,转到Firefox的相关应用程序选项。
  6. 在列表中搜索网络搜索,方法是在列表上方的搜索框中键入它以过滤它或滚动列表。
  7. 双击条目的右半部分以启用并打开下拉菜单。
  8. 单击“ Use Google Calendar (或通过在指令#3处修改命令而选择的任何名称)以选择并立即保存该处理程序。

HTH。 如果没有,请在下面留言。