I would like for Google Calendar to open URIs with the Webcal (wikipedia) scheme (delivering ICS files), similar to how Gmail can be set to be the default handler for mailto:
links.
More specifically, I would like for Google Calendar to import them to my primary calendar. (You can manually import an ICS file in Google Calendar by clicking the small arrow next to Other calendars, choosing Import calendar from the drop-down list, navigating to the .ICS file, and choosing Import.)
I don't know if this is possible, but I'm hoping somebody will have a great idea.
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 :
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 theWrench
toolbar button and go toSettings
. ClickShow advanced settings
, findContent settings...
(just after Privacy header) and find theManage handlers
button. Click theX
next to the ignored protocol you wish to delete. Alternatively, you can type inprotocol 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):You may need to toggle the
gecko.handlerService.allowRegisterFromDifferentHost
option inabout:config
totrue
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:
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
at Firefox's console results in a
nowadays, here's the new way to still "make it happen":
about:config
, confirming the risk by clicking the button.webcal
, filtering the list to items of typegecko.handlerService.schemes.webcal.[...]
.[...].name
item (since 30 Boxes was abandoned with Firefox 67, I opted for[...].0.name
)Google Calendar
and click Save.[...].uriTemplate
item, i. e. the one just below your edited one.https://calendar.google.com/calendar/r?cid=%s
and click Save.Applications
paragraph.webcal
by either typing it into the search box just above the list or via scrolling.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.