17

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).

Ben N
  • 40,045
  • 17
  • 140
  • 181
GAThrawn
  • 4,326
  • 2
  • 22
  • 42

2 Answers2

5

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.

Jacob Bundgaard
  • 223
  • 3
  • 10
F-Lambda
  • 74
  • 1
  • 2
  • Brilliant, just what I was hoping for, seems to do everything it should do and so simple! – GAThrawn Jun 28 '12 at 10:16
  • 6
    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` – tatsuhirosatou Oct 11 '12 at 21:59
  • Not working in FF 30 on Ubuntu as it's a VCS/ICS file. – Gaurav Kumar Jun 27 '14 at 16:27
  • @tatsuhirosatou run it from google.com – Good Person Aug 04 '14 at 05:16
  • 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 06 '16 at 19:33
  • I'm getting syntax error: illegal character for this. FF v54 – dez93_2000 Jun 28 '17 at 15:22
  • 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 '22 at 08: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.

dschwarz
  • 39
  • 4
  • 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 '09 at 09:01