问题
What I am trying to achieve is in the screenshot below: It is an Outlook meeting invite, which has the To field pre-popultated with the specified names, the Send button just says 'Send' and its reminder is set to 15 minutes.

I created the following ICS file and expected that it would create the required invite, but it is doing something different: the To list is blank, as is the reminder and the Send button says 'Send Update'.
As this is supposed to be created from an open to the public web page with no log in, ORGANIZER
cannot be set and OL is supposed to know who they are.

What am I doing wrong in the ICS file?
Are there any other methods besides PUBLISH
and REQUEST
that OL supports?
BEGIN:VCALENDAR
METHOD:PUBLISH
BEGIN:VEVENT
UID:somethingunique
DTSTART;VALUE=DATE:20150302
DTEND;VALUE=DATE:20150302
ATTENDEE;CN="First Last";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"first_last@test.com"
ATTENDEE;CN="John Doe";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"jdoe@test.com"
ATTENDEE;CN="Et Cetera";ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:MAILTO:"etc@test.com"
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY;
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
I also tried changing to use the METHOD:REQUEST
, but it opens as what looks like a reply to an invite with no possibility to change the subject/location or add more attendees:

When REQUEST
method is used there are a few issues with the invite: it is not editable, it is not actually created in OL, clicking 'No response required' actually deletes the invite and I end up with noting (there is no way to save and send the invite).
回答1:
If it helps anyone, here are the changes that partially worked:
No method should be used
No quotes allowed around the email addresses!
;VALUE=DATE
is not supported (OL 2010) and time component has to be there.Alarm is not set even though method
REQUEST
would set it.
ICS code that created a meeting as required:
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:somethinguniquehere204832901
DTSTART:20150303T100000
DTEND:20150303T100000
ATTENDEE:john_doe@test.com
ATTENDEE:jane_doe@test.com
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
When that is processed, the form has a Send Update
button, which when clicked, creates a meeting and sends the invites. This still does not look like a brand new OL meeting request that the users are accustomed with.
回答2:
The first issues: I'm spotting are:
- your iCalendar event must have an organizer.
- It's also missing a
UID
. METHOD:PUBLISH
is wrong. It should probably beREQUEST
or not be in there at all, depending on the context.ACTIONDISPLAY
is not valid, it's missing a colon.
I would recommend taking a proper CalDAV / iCalendar client application (so not Outlook), create an event with invites there and then export that event. Then you can use that as a template for how the iCalendar object should look.
来源:https://stackoverflow.com/questions/28819645/what-should-be-in-the-ics-file-in-order-to-create-a-meeting-invite-to-the-multip