Google Calendar as default handler of webcal protocol for iCal/ICS files
In newer versions of Chromium/Chrome, you need to login to google calendar and click the overlapped diamond icon in the address bar.
Select "Use Google Calendar", then click done. This will register google calendar as a handler for webcal links.
Note:
You may need to set Chromium to allow sites to become default protocol handlers. You can do so via :
- Advanced settings -> Privacy, Content Settings -> Handlers
- Select "Allow sites to ask to become default handlers for protocols"
Chromium
The chromium browser offers this option when you first log in to Google Calendar:
If you have accidentally answered with No
on this question, you can press the Wrench
toolbar button and go to Settings
. Click Show advanced settings
, find Content settings...
(just after Privacy header) and find the Manage handlers
button. Click the X
next to the ignored protocol you wish to delete. Alternatively, you can type in protocol handlers
search box in Chromium settings.See the screenshot below.
Firefox
I found this post on stackexchange which explains how to achieve the same thing in Firefox, but this doesn't work for me on firefox 12 and 15: this works for me if I disable the Never save history option (Private browsing mode):
Go to Google Calendar's site and press
Ctrl+Shift+K
.Paste this after the > sign:
navigator.registerProtocolHandler("webcal","https://www.google.com/calendar/render?cid=%s","Google Calendar");
Press the enter key and click the
Add application
button which should appear below the toolbar.
You may need to toggle the gecko.handlerService.allowRegisterFromDifferentHost
option in about:config
to true
before trying this (if google redirects you to a local google domain). Remember to return it to false after calling the registerProtocolHandler function because malicious sites may exploit this. See details here.
As of Jan 2020 I managed to solve this for Firefox by doing the following:
- about:config - switch dom.registerContentHandler.enabled to true;
- open Google calendar;
- press Ctrl+Shift+K to open console;
-
copy the following code, paste it into the console and press Enter:
javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");
After these steps, you should see a window-width stripe under the address bar asking you if you want to set Google calendar as a default webcal handler.
Before all that, I tried to use the master Yoda's solution but it didn't work - anyway, cheers, it inspired me to look closer at the about:config entries and to discover this method.
Since I came across the same question as the OP and things have changed since the accepted answer was posted, I thought I'd share my findings. The following instructions are mainly for Firefox, but apart from little differences they should work in Chrome, too.
[2019-03-08] Update: reflect new Firefox behavior
Because using
javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/r?cid=%s","Google Calendar");
at Firefox's console results in a
SecurityError: Permission denied to add https://www.google.com/calendar/render?cid=%s as a protocol handler
nowadays, here's the new way to still "make it happen":
- Navigate to
about:config
, confirming the risk by clicking the button. - Type
webcal
, filtering the list to items of typegecko.handlerService.schemes.webcal.[...]
. - Click the Edit button at the right of your chosen
[...].name
item (since 30 Boxes was abandoned with Firefox 67, I opted for[...].0.name
) - Type in your desired name, e. g.
Google Calendar
and click Save. - Click the Edit button of your corresponding
[...].uriTemplate
item, i. e. the one just below your edited one. - Paste the URL
https://calendar.google.com/calendar/r?cid=%s
and click Save. - Go to Firefox's options for associated applications by consecutively clicking ≡, ⚙ Options, ⚙ General menu options and then scrolling down to the
Applications
paragraph. - Search the list for
webcal
by either typing it into the search box just above the list or via scrolling. - Click the drop-down at the entry's right half and select
Use Google Calendar
(or whatever name you chose at instruction #4).
Test calendars: https://www.webcal.fi/en/calendars.php
HTH. If not, just leave a comment below.