Google Calendar no longer imports alarms with iCalendar files - google-calendar-api

I wrote a script that generates several events with alarms in an iCalendar file. I used to be able to import these into Google Calendar and the alarms would work as designed. At some point within the last week, when I import one of the iCalendar files, the event reminders no longer show up in Google Calendar. To diagnose this, I tried creating a test event with an alarm and then taking it out of the Google Calendar iCal link. Here are the results minus some header information between BEGIN:VCALENDAR and the first BEGIN:VEVENT:
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20130430T210000Z
DTEND:20130430T220000Z
DTSTAMP:20130430T143211Z
UID:cn0rdei9gdpbn0902jdvs0ltdkx1
CREATED:20130430T142949Z
DESCRIPTION:
LAST-MODIFIED:20130430T142949Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Test event
TRANSP:OPAQUE
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:This is an event reminder
TRIGGER:-P0DT0H10M0S
END:VALARM
END:VEVENT
END:VCALENDAR
Changing the UID and re-importing it results in the event being imported correctly, except the reminder no longer exists. The same is true if I leave in the time zone information I elided above.
Has Google simply removed the ability to import alarms or is there some way to fix this?

Setting a default reminder is not even a workaround because you still lose ALL your ics alarm entries.
I have tried every approach I can found on Internet and here and found a pretty good solution with iOS device, say iPhone.
1. Save your ics file
2. email this ics file as an attachment to your email which was set up in your iphone.
3. From iPhone, open that email and click on the attached ics file
4. At this point, your iPhone should ask you which calendar you want to import your icc. Select your Gmail calendar
5. The entries in the ics should appear in your Google calendar after sync (may take a few minutes, depending on your environment)
My iPhone is iOS7.
I haven't tried on iPad or other iOS version but it should work on other iOS version or iPad, I think.
In case you doubt, you can try editing a single event ics and try it before importing big ics files. I personally tried it and check if the VALARM is set in Google calendar. It did work !!!!
Hope this help you all.
This problem has been there for such a long time ~
Shame on Google, anyway.
----- Some Background Notes -----
The reason why I am looking for such solution is : I import a holiday calendar file which will set alarm for each DAY!! and there's no way to roll back previous calendar (while Google Contacts let you roll back, Google Calendar don't have much capability!).
What I can do is
1. export this messed-up calendar to google.ics
2. write a script to get rid of those messy events (CREATED: Some Specific DATE/TIME)
3. Delete ALL events from your google calendar
4. Use above method to re-import the new ics files which contains your original events with correct alarm/reminders

The best workaround I could find was suggested on Twitter by #jxchong. I created a new Google Calendar with the desired alert set as a default, and imported the events I want alarms on to it. This only works when I want the same alarm set on each event.

Related

Hidden event being shared with google calendar

Some spam email managed to create a hidden reoccurring event in my google calendar and it's being shared with outlook (www.hotmail.com) and my iPhone.
On my iPhone, I was able to delete the series and it disappeared.
On hotmail, I can't seem to do anything to it.
I know its coming from the shared google calendar because I removed the calendar from hotmail and it disappeared, and then re-appeared when I added it again.
How do I find this in google and delete so I'm not forever reminded that "poste italien" is delivering something tonight at 2:10am?
FWIW, after much fiddling, I:
exported my calendar from gmail
looked at the text.ics and found the date the event was created (2 years ago!)
went to my calendar in gmail and found the event on that date and deleted it (and the series)
removed the calendar from hotmail
reimported/resubscribed the calendar
And at that point it did not show up any more. hurrah.

Insert Calendar by URL, Google Calendar API

According to this documentation, you can insert a calendar into a users calendar list by a calendar id. However, what if the calendar is coming from a different endpoint? The endpoint we have downloads a .ics file.
This can be achieved manually by going to https://calendar.google.com/calendar/r/settings/addbyurl and pasting in the specified url. How can I achieve this using the API?
Are you sure the calendar you're inserting is a google calendar?
I think you might have to create/insert the calendar, and then import the events into it using your .ics file.
Inserting new calendar API: https://developers.google.com/calendar/v3/reference/calendars/insert
And then import if you have an iCalUID in the event info or insert otherwise. It's a lot less clean than just using the .ics file though. I suppose you could try to figure out what that part of the UI uses but I doubt it'll accept ad-hoc requests.

Google Calendar - Shared calendar event creator

currently I am using Google Calendar's XML feed for shared calendars to view when events are created and who created them. This works great, unfortunately, Google Calendar is getting rid of their XML feeds Nov 17, which is absurd but besides the point. Now I have a problem:
I have taken a look at the exported ICS file which tells me when an event was created but not the creator of the event, which is useless because there are 5 people sharing a calendar scheduling events and I need to know the author of the events. There is no specification for author in the ICS file (like there is with the author tag in the XML feed).
So the simple question is, with a shared calendar, is there a way to tell (without XML feeds) who created the event?
Thanks so much, Bob

iCal Not Recognized By Google

I've created an iCal which I'm trying to use in Google Calendar, but no events are being displayed. The feed is at here. Each event looks like the following, and two iCal validators are telling me it's a valid file. Does google need an extra field for each entry?
I created my own iCal dumper at https://views.scraperwiki.com/run/days_of_the_year_1/ , which builds the source piece by piece. It won't work when I subscribe online via Google calendar, but if I save, then import the source the events are added. I guess there must be an out of place character in feed2ical's ouput.
I know it's been a long time, but I finally noticed that my old feed2ical script was busted in various ways. It should be fixed now and I put the source on github as well. Man I really didn't know python when I wrote that :) It's still pretty crappy code, but it validates now and works in Google Calendar, Apple's iCal, and Microsoft Outlook.
http://feed2ical.appspot.com, https://github.com/dsanvita/feed2ical

How do I add an .ics calendar event to Google Calendar?

I am creating an Expression Engine Calendar using Solspace's Calendar module which exports .ics files. I would like for users to be able to click on a link to add events to their Google Calendar.
Google search we too broad and I need some more specific direction on how this might be done.
You mention that you are using a module that exports the ics files.
Generally link should then be to the ics file (or the code that produces the ics file dynamically).
Then when the user clicks the link, the browser sees it is an ics file and depending on the user's settings will prompt an action (usually to add to their calendar).
If you specifically only want to add to their google calendar, then you need to generate the sorts of link hrefs you see at this test site:
http://test.icalevents.com/calendar-of-all-events/
It has example of "add whole calendar to google) and "add just an event to google" (as well as the more general ics links).
Hope that makes it clearer?
If you just want to have links to add individual events to a visitor's calendar, follow the Google developer documentation here: http://www.google.com/googlecalendar/event_publisher_guide_detail.html
Then just use your various field variables to build the link to spec in your template.

Resources