Sending Outlook meeting requests without Outlook?
The way to send a meeting request to Outlook (and have it recognized) goes like this:
- prepare an iCalendar file, be sure to set these additional properties, as Outlook needs them:
UID
SEQUENCE
CREATED
LAST-MODIFIED
DTSTAMP
- prepare a
multipart/alternative
mail:- Part 1:
text/html
(or whatever you like) - this is displayed to "ordinary" mail readers or as a fall-back and contains a summary of the event in human readable form - Part 2:
text/calendar; method=REQUEST
, holds the contents of the ics file (the headermethod
parameter must match the method in the ics). Watch out for the correct text encoding, declaring acharset
header parameter won't hurt. - Part 3: Optionally, attach the .ics file itself, so ordinary mail readers can offer the user something to click on. Outlook does not really require the attachment because it just reads the
text/calendar
part.
- Part 1:
- Send the mail to an outlook user. If you got everything right the mail shows up as a meeting request, complete with attendance buttons and automatic entry in the users calendar upon accept.
- Set up something that processes the responses (they go to the meeting organizer). I have not yet been able to get automatic attendee tracking to work with an Exchange mailbox because the event won't exist in the organizers calendar. Outlook needs the UIDs and SEQUENCES to match it's expectations, but with a UID you made up this will hardly work.
For help on the details and peculiarities of the ics file format, be sure to visit the iCalendar Specification Excerpts by Masahide Kanzaki. They are a light in the dark, much better than gnawing your way through RFC 2445. But then again, maybe a handy library exists for .NET.
Microsoft Graph API send no response required meeting invites
set another email address as the attendee which is different from the one we used to create the event, then it will show the "not request a response"
{
"subject": "Let's go for lunch",
"responseRequested":false,
"body": {
"contentType": "HTML",
"content": "Does noon work for you?"
},
"start": {
"dateTime": "2022-01-21T12:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2022-01-21T14:00:00",
"timeZone": "Pacific Standard Time"
},
"location":{
"displayName":"Harry's Bar"
},
"attendees": [
{
"emailAddress": {
"address":"xxx@outlook.com",
"name": "tiny wang"
},
"type": "required"
}
]
}
"responseRequested": false
should work for the create event api, because the event object has the property of responseRequested
.
But please note the online meeting object doesn't contain this property, so you can't create an online meeting without response by adding this property using this api.
Related Topics
How to Connect to ASP.NET Development Server Issue
Determining If File Exists Using C# and Resolving Unc Path
What Does System.Double[*] Mean
Practical Applications of Bitwise Operations
Observablecollection and Item Propertychanged
Display Progress Bar While Doing Some Work in C#
Does ASP.NET MVC Have Application Variables
Parse and Modify a Query String in .Net Core
Simulate Steady CPU Load and Spikes
Windows 10 Scrollintoview() Is Not Scrolling to the Items in the Middle of a Listview
Delete Specific Line from a Text File
3D Relative Angle Sum Calculation
Spawn Multiple Threads for Work Then Wait Until All Finished
Programmatic Control of Virtual Desktops in Windows 10