How to get confirmation of meeting sent in .ics attachment? - google-calendar-api

I am sending following event TO user1#example.com FROM user3#example.com:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//example.com//Appointment v1.0//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:abcdef123455
SEQUENCE:1
DTSTAMP:20160923T151743
DTSTART:20161101T211500
ATTENDEE;CN="user1";RSVP=TRUE:mailto:user1#example.com
ATTENDEE;CN="user2";RSVP=TRUE:mailto:user2#example.com
ORGANIZER;CN="user3":MAILTO:user3#example.com
LOCATION:Sweden
DESCRIPTION:Meeting
SUMMARY:Meeting
CLASS:CONFIDENTIAL
CATEGORIES:BUSINESS
END:VEVENT
END:VCALENDAR
When he opens it in Gmail he sees something like this and meeting appears in his google calendar:
Now when he clicks "Yes" ("Tak" on the screen) then I want to somehow get notification that he confirmed the meeting. But I get no email neither on user2#example.com not on user3#example.com...
I've tried with following:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//example.com//Appointment v1.0//EN
METHOD:REQUEST
BEGIN:VEVENT
UID:absdfdsf78923
SEQUENCE:1
DTSTAMP:20160923T151743
DTSTART:20161024T150000
ATTENDEE;CN="user";RSVP=TRUE;PARTSTAT=NEEDS-ACTION:MAILTO:user1#example.com
ATTENDEE;CN="organizer";RSVP=TRUE;PARTSTAT=ACCEPTED:MAILTO:user2#example.com
ORGANIZER;CN="organizer":MAILTO:user2#example.com
LOCATION:Sweden
DESCRIPTION:Meeting
SUMMARY:Meeting
CLASS:CONFIDENTIAL
CATEGORIES:BUSINESS
END:VEVENT
END:VCALENDAR
But when I accept event on user1#example.com, still user2#example.com does not receive any confirmation email... Tried with different options of attendees:
without organizer and 2 attendees
with organizer and 1 attendee
with organizer and 2 attendees
with organizer and 2 attendees where one of them is organizer itself

You can check this documentation. In creating an event, you can use the attendees[].responseStatus parameter to know the attendee's response status.
You can also check this related SO thread. It is stated that the request needs to set the parameter sendNotifications as true.

Related

Ical format import to the Google calendar

I have *.ics file. Where I have one event with one attendee but the event was imported but the attendee was not. What did I do wrong?
BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:4.0
BEGIN:VEVENT
ATTENDEE;CN=Martin Gabrle;RSVP=TRUE:mailto:martin.gabrle#daktela.com
DTSTART:20230202T060000Z
DTEND:20230202T070000Z
DTSTAMP:20230130T120027Z
SEQUENCE:0
UID:5489af48-6ccb-4ad6-aa33-39db4d549c49
END:VEVENT
END:VCALENDAR
I tried to export the event from google calendar. I changed the uid and imported it back, but the attendees weren't there either.

Property name with value in ICS file to set Out of Office event type in Google calendar

Can you please give me an advice, what is the correct property name with value (if there any is) for .ics file to display Out of Office status/event type in Google calendar ?
Based on Google calendar API here, there is just attribute "eventType" with values and it does not work.
This is .ics file example with "eventType" attribute in:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Client Events//NONSGML Client Events//EN
URL: https://portal.com/
REFRESH-INTERVAL;VALUE=DURATION:PT12H
X-PUBLISHED-TTL:PT12H
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
CLASS:PUBLIC
SEQUENCE:1
ORGANIZER:info#email.com
CREATED:20220504T070932Z
DTSTAMP:20220504T070932Z
DTSTART:20220520T130000Z
DTEND:20220520T143000Z
SUMMARY:Vacation
LOCATION:TULIP
DESCRIPTION:I am on vacation. \n\n\n
UID:AttendanceRequestIfddf97981654254D33260#https://portal.com/
EVENTTYPE:OUTOFOFFICE
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
Thank you.

Google doesn't sync my subscribed ICS feed

I have a ICS feed for a calendar, that I subscribe from Google calendar.
As soon as I add the feed, it shows all the events perfectly. But when I edit events, it doesn't update. So it seems like it can read the feed, but doesn't sync it.
If I remove the feed and add it again, its still not synced. But if I add a parameter to the url (ex. &x=1), it will import the updates, but still not sync. So it seems like Google is caching the feed pr. url, but doesn't sync after the url has been added.
Anyone else had this issue, or know a solution?
SOLUTION UPDATE: 12/03 - 2020
I missed the fields "SEQUENCE" and "LAST-MODIFIED". Credits to #anmari for spotting the error.
The calendar now syncs perfectly with Google.
Example from the ICS file:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ZContent.net//Zap Calendar 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SUMMARY:Gudstjeneste - prædiken ved Enok Sørensen
UID:1177
DTSTART:20190915T073000Z
DTEND:20190915T103000Z
DTSTAMP:20190907T164050Z
LAST-MODIFIED:20200311T195313Z
SEQUENCE:2
LOCATION:Nørregade 13, 6900 Skjern
URL:https://www.lm-kirken.dk/kalender/gudstjeneste-15-09/
END:VEVENT
BEGIN:VEVENT
SUMMARY:Fredagsfællesskab
UID:1248
DTSTART:20190920T153000Z
DTEND:20190920T180000Z
DTSTAMP:20190909T201436Z
LAST-MODIFIED:20200312T062507Z
SEQUENCE:1
LOCATION:Nørregade 13, 6900 Skjern
URL:https://www.lm-kirken.dk/kalender/fredagsfaellesskab-20-09/
END:VEVENT
BEGIN:VEVENT
SUMMARY:Gudstjeneste - prædiken ved Leif Bach Kofoed
UID:1214
DTSTART:20190929T083000Z
DTEND:20190929T103000Z
DTSTAMP:20190909T185328Z
LAST-MODIFIED:20200311T210357Z
SEQUENCE:1
LOCATION:Nørregade 13, 6900 Skjern
URL:https://www.lm-kirken.dk/kalender/gudstjeneste-29-9/
END:VEVENT
END:VCALENDAR
Bjorn
to tell any calendar application that an event has been updated (so that it will sync it) one needs fields to be updated for the event that is being modified, and add:
LAST-MODIFIED:19960817T133000Z
SEQUENCE:1 (of update)
See also
ics event update failed in web calendar
and
Icalendar ICS update not working in google calendar
and the specification
https://www.rfc-editor.org/rfc/rfc5545#section-3.8.7.4

Recurrent events in iCalendar not working

I'm trying to add recurring events to my personal calendar via .ics, The client imports and adds the first event to the calendar but doesn't create other repeating events.
I'm actually creating a recurring event which happens daily, below is the sample of my .ics file.
BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//com.denhaven2/NONSGML ri_cal gem//EN
CALSCALE:GREGORIAN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
CREATED;VALUE=DATE-TIME:20111103T182116Z
DTEND;VALUE=DATE-TIME:20111104T130000Z
STATUS:CONFIRMED
DTSTART;VALUE=DATE-TIME:20111104T103000Z
TRANSP:OPAQUE
DTSTAMP;VALUE=DATE-TIME:20111103T182116Z
LAST-MODIFIED;VALUE=DATE-TIME:20111103T182116Z
UID:availability_slot42#chronus.com
DESCRIPTION:Availability slot from mentoring program
SUMMARY:Mentoring Slot
ORGANIZER:iitm_mentor3#chronus.com
RRULE:FREQ=DAILY;WKST=MO;
EXRULE:FREQ=WEEKLY;BYDAY=SA,SU
LOCATION:Daily withoiut until
SEQUENCE:0
END:VEVENT
END:VCALENDAR
looks like the problem is with the client s/w, not your ics file.
Your code above validates at http://severinghaus.org/projects/icv/
and loads and recurs fine in google calendar.
see https://www.google.com/calendar/embed?src=jpkdu09olie8uveopl72oguj2s%40group.calendar.google.com&ctz=Australia/Sydney
Cross test on some more other calendar clients to verify.

Does Outlook 2003 support iCal 2.0 spec for updating and deleting a calendar item?

We are working on an asp.net 2.0 web app that emails users an ical to save to their outlook 2003 calendar. We noticed none of the code to update or delete an item seem to work even though the ical 2.0 spec supports it. We are curious if Outlook 2003 just ignores this? Does Outlook 2007 act differently?
We have situations where an event may change or be cancelled which fires off an email notification but the updated ical just adds a new event, it nevers deletes and or moves the original....
Are we missing something?
We have been able to get it to delete a message now.... but not update the way we thought it would....
to setup a meeting we send...
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
CLASS:PUBLIC
PRIORITY:5
SEQUENCE:0
UID:12345
SUMMARY:test
LOCATION:test
DTSTART:20090709T230000Z
DTEND:20090710T000000Z
DTSTAMP:20090713T164634Z
DESCRIPTION:test
END:VEVENT
END:VCALENDAR
to delete we send a message by just changing the method to cancel like so:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:CANCEL
BEGIN:VEVENT
CLASS:PUBLIC
PRIORITY:5
SEQUENCE:0
UID:12345
SUMMARY:test
LOCATION:test
DTSTART:20090709T230000Z
DTEND:20090710T000000Z
DTSTAMP:20090713T164634Z
DESCRIPTION:test
END:VEVENT
END:VCALENDAR
Our original issue with the deleting is we had a blank organizer line. We removed that and canceling worked....
As for updating an original publish like in the first line, we have been unable to. We have increased the sequence # from zero to 1 and it just adds a new meeting. We are using the same UID number which in our testing is just 12345.
The only way I have found to do this is to create an organizer and change from publish to a request type.
In reading the rfc2445 this seems to be how it's designed. Publish will always create a new record and sequence doesn't matter. When sequence matters is with an organizer and request method....
I also found this answer after my testing and reading on stackoverflow here:
ICalendar and event updates not working in Outlook
Duh for me not seeing that earlier.... :)
Here's a sample:
BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
CLASS:PUBLIC
DTEND:20090713T203000Z
DTSTAMP:20090713T174434Z
DTSTART:20090713T200000Z
ORGANIZER;CN="No one special";mailto:dontemailme#email.com
PRIORITY:5
SEQUENCE:0
SUMMARY: Lunch?
UID:1234567
END:VEVENT
END:VCALENDAR
And to update it...
BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
CLASS:PUBLIC
DTEND:20090713T213000Z
DTSTAMP:20090713T174434Z
DTSTART:20090713T210000Z
ORGANIZER;CN="No one special";mailto:dontemailme#email.com
PRIORITY:5
SEQUENCE:1
SUMMARY: Lunch?
UID:1234567
END:VEVENT
END:VCALENDAR
And to cancel it....
BEGIN:VCALENDAR
VERSION:2.0
METHOD:CANCEL
BEGIN:VEVENT
CLASS:PUBLIC
DTEND:20090713T213000Z
DTSTAMP:20090713T174434Z
DTSTART:20090713T210000Z
ORGANIZER;CN="No one special";mailto:dontemailme#email.com
PRIORITY:5
SEQUENCE:1
SUMMARY: Lunch?
UID:1234567
END:VEVENT
END:VCALENDAR
The sequence # doesn't matter for the cancelling....
I'd have to say my experiences with Outlook 2007 are the same as yours with Outlook 2003 .. it totally ignores PUBLISH..
The best way i've come around this is to use the meeting as an attachment.. that way you can open it, 'make it your own' and make use of Tracking and send out updates to attendee's ..
I don't think Microsoft is interested in playing nice with standards here..

Resources