19

Lots of web sites have an option to export events as an ICS file that can then be imported into a desktop or web-based calendar (for example if you're invited to a Facebook event there will be an export button that gives you an ICS file).

By default in Firefox 3.5 on Vista I'm only offered three options here "Open with Windows Calendar", "Open with Other" or "Save File", so what I'd do is save the file onto my PC, and then log into Google Calendar and import that ICS file.

What I'd like is to have an "Open with Google Calendar" or "Import to Google Calendar" type option when I click the Export link.

I know that you can configure Firefox to send mailto: links to GMail, and I've got the Operator extension installed that will detect hCalendar microformat entries embedded in the text and offer to import them to Google Calendar, but I can't work out how to configure either of these to do what I need.

Preferably I'd do this without installing any additional software, and in a way that will work with a Google Apps account (but if someone can point toward a solution for normal Google Calendar's that would be a good start).

1
  • i'm interested in this too. have you searched userscripts.org? lifehacker.com? Dec 1, 2009 at 1:26

2 Answers 2

4

I found a final solution to this! I based it off of the code to add Gmail as a mailto: handler, and adapted using information taken from Google Chrome's preferences file:

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

To use it, just go to Google Calendar, open Firefox's Web Console (Ctrl+Shift+K), and paste it into the code box.

7
  • Brilliant, just what I was hoping for, seems to do everything it should do and so simple!
    – GAThrawn
    Jun 28, 2012 at 10:16
  • 7
    I get the following error when I run the command. Permission denied to add https://www.google.com/calendar/render?cid=%s as a content or protocol handler Oct 11, 2012 at 21:59
  • Not working in FF 30 on Ubuntu as it's a VCS/ICS file. Jun 27, 2014 at 16:27
  • 7
    This still works, and even persists in your user profile, but the URL has changed. You now need to enter javascript:window.navigator.registerProtocolHandler("webcal","https://calendar.google.com/calendar/render?cid=%s","Google Calendar");. Like Good Person said above, this will only work if run from a tab which has calendar.google.com loaded!
    – Artfunkel
    Dec 6, 2016 at 19:33
  • 1
    Code from the original answer did not change anything on my machine. The code from @Artfunkel generated a pop-up, asking if I want to add the web application; but .ics are still not opened in google calendar - Firefox simply saves it to Downloads.
    – icemtel
    Apr 29, 2022 at 8:40
1

iCalendar is not a microformat so I'm afraid Operator isn't going to help you here. So you'll need a separate Firefox extension or helper app to do this. I'm not aware that one exists and Google was no help when I searched. Sounds like a good development opportunity.

Workaround: save the .ics file to disk, then create a draft email in Gmail. Title it whatever, Attach the .ics file. Save it and go to the Drafts view. Now you should see a calendar icon to the right of the draft email you created. Click it to add the event to Google Calendar. Simple, eh?

Update: I'd go with Alejandro's .NET solution if you have that option.

2
  • 2
    Your workaround actually sounds more complicated than the normal save ICS file to disk, then click the Import Calendar button in Google Calendar! It's strange, you'd think this was something that lots of people would be annoyed by! Wonder if it could be done with a Greasemonky script?
    – GAThrawn
    Oct 21, 2009 at 9:01
  • No, having to go to the settings and then switch tabs, click on import, select the file, then STILL click on import, super convoluted, super annoying, I don't get it why Google won't fix this, I have constant sources of .ics files and it is endlessly fu*** work for nothing. Feb 8 at 3:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .