Whatever message this page gives is out now! Go check it out!
<cfexchangecalendar required action = "create" event = "#event information structure#" optional connection = "connection ID" result = "variable for event UID" timeZone="Time Zone for the event"> delete <cfexchangecalendar required action = "delete" uid = "event UID,event UID, ..." optional connection = "connection ID" message = "string" notify = "yes|no"> deleteAttachments <cfexchangecalendar required action = "deleteAttachments" uid = "event UID" optional connection = "connection ID"> get <cfexchangecalendar required action = "get" name = "query identifier" optional connection = "connection ID"> getAttachments <cfexchangecalendar required action = "getAttachments" name = "query identifier" uid = "event UID" optional access_token="token" attachmentPath = "directory path" connection = "connection ID"> generateUniqueFilenames = "no|yes" getRooms <cfexchangecalendar action = "getRooms" emailAddress = "e-mail_ address" name = "name" connection = "connection_ID"/> getRoomsList <cfexchangecalendar action = "getRoomList" name = "name" connection = "connection_ID"/> getUserAvailability <cfexchangecalendar action = "getUserAvailability" attendees = "attendee_list" connection = "connection_ID" startDate = "date" endDate = "date" dataRequestType = "freeBusy|suggestions|freeBusyandSuggestions" name = "name" /> modify <cfexchangecalendar required action = "modify" event = "#event information structure#" uid = "event UID" optional connection = "connection ID"> respond <cfexchangecalendar required action = "respond" responseType = "accept|decline|tentative" uid = "event UID" optional connection = "connection ID" message = "string"> notify = "yes|no"> |
Attribute | Action | Req/Opt | Default | Description |
action | N/A | Required | The action to take. Must be one of the following values:
| |
| access_token | Optional | An oauth access token built with Microsoft Graph API scopes that is required to connect with exchange online. | ||
| username | all | Optional | The Exchange user ID. | |
| password | all | Optional | The password for accessing the Exchange server. | |
| server | all | Optional | The IP address or URL of the server that is providing access to Exchange. | |
attachmentPath | getAttachments | Optional | The filepath of the on-disk or in-memory directory in which to put the attachments. If an on-disk directory does not exist, ColdFusion creates it. Note: If you omit this attribute, ColdFusion does not save any attachments. If you specify a relative path, the path root is the ColdFusion temporary directory, which is returned by the GetTempDirectory function. | |
attendees | getUserAvailability | Required | Comma-separated list of all attendees. | |
connection | all | Optional | The name of the connection to the Exchange server, as specified in the cfexchangeconnection tag. If you omit this attribute, you must create a temporary connection by specifying cfexchangeconnection tag connection attributes in the cfexchangecalendar tag. | |
dataRequestType | getUserAvailability | Required |
| |
emailAddress | getRooms | Optional | Defines the Simple Mail Transfer Protocol (SMTP) address of a mailbox user. | |
endDate | getUserAvailability | Required | A string that ColdFusion can interpret as a date-time value. | |
event | createmodify | Required | A reference to the structure that contains the event properties to be set or changed, and their values. Specify this attribute in number signs (#). The event attribute also supports the categories key. For more information on the event structure, see Usage. | |
getOccurrence | TrueFalse | Optional | If True, retrieves all occurrences of a recurring event between specified startDate and EndDate values and also, any single events. You can not use cfExchangeFilter tag if you specify getOccurrence as True. | |
generateUnique Filenames | getAttachments | Optional | no | A Boolean value that specifies whether to generate unique filenames if multiple attachments have the same filenames. If two or more attachments have the same filename and this option is yes, ColdFusion appends a number to the filename body (before the extension) of any conflicting filenames. Thus, if three attachments have the name myfile.txt, ColdFusion saves the attachments as myfile.txt, myfile1.txt, and myfile2.txt. |
message | deleterespond | Optional | The text of an optional message to send in the response or deletion notification. | |
name | getAttachments getUserAvailability getRoomsListgetRooms | Required | The name of the ColdFusion query variable that contains the retrieved events or information about the attachments that were retrieved. For more information on the returned data, see Usage. | |
notify | deleterespond | Optional | true | Boolean value that specifies whether to notify others of the changes made to the event. |
responseType | respond | Required | Must be one of the following values:
| |
result | create | Optional | The name of a variable that contains the UID of the event that is created. You use the UID value in the uid attribute of actions other than create to identify the event to be acted on. | |
serverVersion | Optional | 2007 | Specifies the Microsoft Exchange Server version. The values are:
| |
startDate | getUserAvailability | Required | A string that ColdFusion can interpret as a date-time value. | |
| timeZone | Optional | Specify the time zone for the event as a struct in the format- key.timeZone="UTC+05:30". For example, UTC+02:30, UTC-05:00 , or UTC+00:00. | ||
uid | delete getAttachments modify respond | Required | Case-sensitive Exchange UID value or values that uniquely identify the event or events on which to perform the action. For the delete action, this attribute can be a comma-delimited list of UID values. The deleteAttachments, getAttachments, modify, and respond actions allow only a single UID value. | |
| folderid | Optional | Specify the calendar folder ID from which the calendar items need to be managed. If the folder ID is not a valid calendar, an error will be reported. | ||
| folderpath | Optional | Full path to the calendar folder in the mailbox store. Path delimiter also can be specified in the tag by using the pathdelimiter attribute. If both folderid and folderpath are not specified, cfexchangecalendar tag manages the default user calendar. If both folderid and folderpath are specfied, folderid will be considered. | ||
| pathdelimiter | Optional | / | Lets you specify the delimiter that is used to separate the folders in the folderpath attribute. |
Element | Default | Description |
AllDayEvent | no | A Boolean value that indicates whether this is an all-day event. |
Attachments | One or more paths to the files to send as attachments. Separate filepaths with semicolons (;) for Windows, and colons (:) for UNIX and Linux. Paths to the attachments must be absolute. If you specify one or more attachments for a modify action, the specified attachments are added to any existing attachments; the pre-existing attachments are not deleted. | |
Categories | A comma-delimited list of categories. The filter searches for events that match all the categories in the list. | |
Duration | The duration of the event in minutes. | |
EndTime | The end time of the event, in any valid ColdFusion date-time format. | |
Importance | normal | One of the following values:
|
IsRecurring | A Boolean value that indicates whether this event repeats. If yes, specify a RecurrenceType element and elements to specify the recurrence details. For information on the recurrence fields, see the next table. | |
Location | A string that specifies the location of the event. | |
Message | A string that contains a message about the event. The string can include HTML formatting. | |
OptionalAttendees | A comma-delimited list of mail IDs. | |
Organizer | A string that specifies the name of the meeting organizer. | |
Reminder | The time, in minutes before the event, at which to display a reminder message. | |
RequiredAttendees | A comma-delimited list of mail IDs. | |
Resources | A comma-delimited list of mail IDs for Exchange scheduling resources, such as conference rooms and display equipment. | |
Sensitivity | The valid values are normal, company-confidential, personal, and private. | |
StartTime | The start time of the event, in any valid ColdFusion date-time format. If you specify a date and time in this attribute and specify a YEARLY RecurrenceType with no other recurrence attributes, the event recurs yearly at the day and time specified in this attribute. | |
Subject | A string that describes the event subject. |
Element | Type | Default | Description |
RecurrenceType | all | DAILY | Used only if the structure has a yes IsRecurring element. Must be one of the following values:
|
RecurrenceNoEndDate | all | yes | Boolean value; if yes, the event recurs until you change or delete the event. Cannot be used with RecurrenceCount or RecurrenceEndDate. |
RecurrenceCount | all | The number of times the event recurs. Cannot be used with RecurrenceEndDate or RecurrenceNoEndDate. | |
RecurrenceEndDate | all | The date of the last recurrence. Cannot be used with RecurrenceCount or RecurrenceNoEndDate. | |
RecurrenceFrequency | DAILY, WEEKLY, MONTHLY | 1 | The frequency of the recurrence in days, weeks, or months, depending on the type. For example, for DAILY recurrence, a RecurrenceFrequency of 3 schedules the event every three days. |
RecurEveryWeekDay | DAILY | The recurrence of the event on every week day, but not on Saturday or Sunday. Cannot be used with RecurrenceFrequency. | |
RecurrenceDays | WEEKLY | The day or days of the week on which the event occurs. Must be one or more of the following values in a comma-delimited list :MON , TUE, WED, THU, FRI, SAT, {{SUN}}If you omit this field for a weekly recurrence, the event recurs on the day of the week that corresponds to the specified start date. | |
RecurrenceDay | MONTHLY, YEARLY | The day of the week on which the event occurs. Must be one of the following values:
| |
RecurrenceWeek | MONTHLY, YEARLY | The week of the month or year on which the event recurs. The valid values are:
| |
RecurrenceMonth | YEARLY | The month of the year on which the event recurs. The valid values are JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, and DEC. |
AllDayEvent | Duration | EndTime | From |
HasAttachment | HtmlMessage | Importance | IsRecurring |
Location | Message | OptionalAttendees | Organizer |
Reminder | RequiredAttendees | Resources | Sensitivity |
StartTime | Subject | UID | Categories |
Column | Description |
From | The Exchange ID of the person who created the event. |
HtmlMessage | An HTML-formatted version of the message about the event. |
Message | A plain-text version of the message about the event. |
UID | The Exchange unique identifier for the mail event. Use this value to identify the event in the delete, getAttachments, and modify actions. |
Column | Description |
attachmentFileName | The filename of the attachment. |
attachmentFilePath | The absolute path of the attachment file on the server. If you omit the attachmentPath attribute, this column contains the empty string. |
CID | The content-ID of the attachment. Typically used in HTML img tags to embed images in a message. |
mimeType | The MIME type of the attachment, such as text/html. |
isMessage | A Boolean value that specifies whether the attachment is a message. |
size | The attachment size in bytes. |
attachmentpath = "ram:///path" |
Struct values | Description |
date | Suggested day for the meeting. |
quality | The quality of the suggested day, if Excellent, Good, Fair or Poor. |
TimeSuggestion | An array of struct that contains the following values:
|
Struct values | Description |
CalendarEvent | A struct that contains the following values:
|
mergedFreeBusyStatus | An array of struct that contains status. The status can be
|
viewType | The free/busy view type retrieved for the attendee. It can have the following values:
|
workingHours | A struct that contains the following details:
|
<!--- A self-submitting form for the event information ---> <!--- This example omits recurrence to keep the code relatively simple ---> <cfparam name="form.eventID" default="0"> <!--- If the form was submitted, populate the event structure from it. ---> <cfif isDefined("Form.Submit")> <cfscript> sEvent.AllDayEvent="no"; sEvent=StructNew(); sEvent.Subject=Form.subject; if (IsDefined("Form.allDay")) { sEvent.AllDayEvent="yes"; sEvent.StartTime=createDateTime(Year(Form.date), Month(Form.date), Day(Form.date), 8, 0, 0); } else { sEvent.StartTime=createDateTime(Year(Form.date), Month(Form.date), Day(Form.date), Hour(Form.startTime), Minute(Form.startTime), 0); sEvent.EndTime=createDateTime(Year(Form.date), Month(Form.date), Day(Form.date), Hour(Form.endTime), Minute(Form.endTime), 0); } sEvent.Location=Form.location; sEvent.RequiredAttendees=Form.requiredAttendees; sEvent.OptionalAttendees=Form.optionalAttendees; //sEvent.Resources=Form.resources; if (Form.reminder NEQ "") { sEvent.Reminder=Form.reminder; } else { sEvent.Reminder=0; } sEvent.Importance=Form.importance; sEvent.Sensitivity=Form.sensitivity; sEvent.message=Form.Message; </cfscript> <!--- If this is the first time the form is being submitted Create a new event. ---> <cfif form.eventID EQ 0> <!--- Create the event in Exchange ---> <cfexchangecalendar action="create" username ="#user1#" password="#password1#" server="#exchangeServerIP#" event="#sEvent#" result="theUID"> <!--- Output the UID of the new event. ---> <cfif isDefined("theUID")> <cfoutput>Event Added. UID is#theUID#</cfoutput> <cfset Form.eventID = theUID > </cfif> <cfelse> <!--- The form is being resubmitted with new data, so update the event. ---> <cfexchangecalendar action="modify" username ="#user1#" password="#password1#" server="#exchangeServerIP#" event="#sEvent#" uid="#Form.eventID#"> <cfoutput>Event ID #Form.eventID# Updated.</cfoutput> </cfif> </cfif> <cfform format="xml" preservedata="yes" style="width:500" height="600"> <cfinput type="text" label="Subject" name="subject" style="width:435"><br /> <cfinput type="checkbox" label="All Day Event" name="allDay"> <cfinput type="datefield" label="Date" name="date" validate="date" style="width:100"> <cfinput type="text" label="Start Time" name="startTime" validate="time" style="width:100"> <cfinput type="text" label="End Time" name="endTime" validate="time" style="width:100"><br /> <cfinput type="text" label="Location" name="location" style="width:435"><br /> <cfinput type="text" label="Required Attendees" name="requiredAttendees" style="width:435"><br /> <cfinput type="text" label="Optional Attendees" name="optionalAttendees" style="width:435"><br /> <cfinput type="text" label="Resources" name="resources" style="width:435"><br /> <cfinput type="text" label="Reminder (minutes)" validate="integer" name="reminder" style="width:200"> <cfselect name="importance" label="Importance" style="width:100"> <option value="normal">Normal</option> <option value="high">High</option> <option value="low">Low</option> </cfselect> <cfselect name="sensitivity" label="Sensitivity" style="width:100"> <option value="normal">Normal</option> <option value="company-confidential">Confidential</option> <option value="personal">Personal</option> <option value="private">Private</option> </cfselect> <cfinput type="textarea" label="Message" name="message" style="width:435; height:100"> <cfinput type="hidden" name="eventID" value="#Form.EventID#"> <cfinput type="Submit" name="submit" value="Submit"> </cfform> |
<cfset todayDate = #Now()#> <cfset fromDate = #DateFormat(todayDate, "mm/dd/yyyy")# & ' ' & #TimeFormat(todayDate, "HH:MM:SS")#> <!--- Adding one day to present date---> <cfset toDate1 = DateAdd("d", "1", "#fromDate#")> <!--- <cfset toDate = #DateFormat(toDate, "mm/dd/yyyy")#&' '&#TimeFormat(toDate, "HH:MM:SS")#>---> <cfset toDate1 = #DateFormat(toDate1, "mm/dd/yyyy")# & ' ' & #TimeFormat(toDate1, "HH:MM:SS")#> <!---Creating a calendar event ---> <cffunction name="constructCalendarStruct" returntype="struct"> <cfargument name="AllDayEvent" type="string"/> <cfargument name="Duartion" type="string"/> <cfargument name="EndTime" type="string"/> <cfargument name="From" type="string"/> <cfargument name="HasAttachment" type="string"/> <cfargument name="HtmlMessage" type="string"/> <cfargument name="Importance" type="string"/> <cfargument name="IsRecurring" type="string"/> <cfargument name="Location" type="string"/> <cfargument name="Message" type="string"/> <cfargument name="OptionalAttendees" type="string"/> <cfargument name="Organizer" type="string"/> <cfargument name="Reminder" type="string"/> <cfargument name="RequiredAttendees" type="string"/> <cfargument name="Resources" type="string"/> <cfargument name="Sensitivity" type="string"/> <cfargument name="StartTime" type="string"/> <cfargument name="Subject" type="string"/> <cfargument name="UID" type="string"/> <cfscript> var eventInfo = structNew(); if(isdefined("AllDayEvent") EQ 1) eventInfo.AllDayEvent = AllDayEvent; if(isdefined("Duration") EQ 1) eventInfo.Duration = Duration; if(isdefined("EndTime") EQ 1) eventInfo.EndTime = EndTime; if(isdefined("From") EQ 1) eventInfo.From = From; if(isdefined("HasAttachment") EQ 1) eventInfo.HasAttachment = HasAttachment; if(isdefined("HtmlMessage") EQ 1) eventInfo.HtmlMessage = HtmlMessage; if(isdefined("Importance") EQ 1) eventInfo.Importance = Importance; if(isdefined("IsRecurring") EQ 1) eventInfo.IsRecurring = IsRecurring; if(isdefined("Message") EQ 1) eventInfo.Message = Message; if(isdefined("OptionalAttendees") EQ 1) eventInfo.OptionalAttendees = OptionalAttendees; if(isdefined("Organizer") EQ 1) eventInfo.Organizer = Organizer; if(isdefined("Reminder") EQ 1) eventInfo.Reminder = Reminder; if(isdefined("RequiredAttendees") EQ 1) eventInfo.RequiredAttendees = RequiredAttendees; if(isdefined("Resources") EQ 1) eventInfo.Resources = Resources; if(isdefined("Sensitivity") EQ 1) eventInfo.Sensitivity = Sensitivity; if(isdefined("StartTime") EQ 1) eventInfo.StartTime = StartTime; if(isdefined("Subject") EQ 1) eventInfo.Subject = Subject; if(isdefined("UID") EQ 1) eventInfo.UID = UID; if(isdefined("Location") EQ 1) eventInfo.Location = Location; </cfscript> <cfreturn eventInfo> </cffunction> <!--- Function to delete calendar events ---> <cffunction name="deleteAllEvents"> <cfargument name="convariable" type="any"/> <cfexchangecalendar action="get" name="deleteQuery" connection="convariable"> </cfexchangecalendar> <cfloop query="deleteQuery"> <cfexchangecalendar action="delete" connection=convariable uid=#deleteQuery.uid#> </cfloop> </cffunction> |
action="open" username = "user1" password="Password" server="IP_Address" serverversion="2010" connection="conn1"> <cfexchangeConnection action="open" username = "user2" password="Password" server="IP_Address" serverversion="2010" connection="conn2"> <cfset deleteAllEvents(conn1)> <cfset deleteAllEvents(conn2)> <!--- Creating All day event for user1 ---> <cfset eventInfo = constructCalendarStruct (AllDayEvent="yes",Importance="High", Subject="Testplan1",StartTime="#fromDate#")> <cfset eventInfo1 = constructCalendarStruct (AllDayEvent="yes",Importance="High", Subject="Testplan",StartTime="#fromDate#")> <cfexchangeCalendar action="create" connection="conn1" event="#eventInfo#" result="UID"> <cfscript>sleep(15000);</cfscript> <cfexchangeCalendar action="create" connection="conn2" event="#eventInfo1#" result="UID1"> <cfscript>sleep(15000);</cfscript> <cfexchangeCalendar attendees="a@cfadobe.com" action="getuseravailability" connection="conn1" datarequesttype="freebusyandsuggestions" startDate="#fromDate#" endDate="#toDate1#" name="result"> <cfdump var="#result#"> <cfset deleteAllEvents(conn1)> <cfset deleteAllEvents(conn2)> |
action="open" username = "sample" password="Password" server="IP_Address" serverversion="2010" connection="conn1"> <cfexchangecalendar action="getroomlist" name="roomList" connection="conn1"> <cfdump var="#roomList#"> <cfexchangecalendar action="getrooms" emailaddress="groundfloor1@cfadobe.com" name="rooms" connection="conn1"> <cfdump var="#rooms#"> |
<cfexchangeconnection action="open" connection="conn1" server="<server hostname/IP>" username="<username>" password="<password>" serverversion="2010" protocol="<protocol>" > <cfscript> eventStruct = structnew(); eventStruct.AllDayEvent = "yes"; eventStruct.Importance = "low"; eventstruct.RequiredAttendees = "testing@abc.com"; eventstruct.Subject = "Test Message"; eventStruct.StartTime = now(); </cfscript> <!-- -Get Calendar Folder Id using exchangefolder tag --> <cfexchangefolder action="GETEXTENDEDINFO" name="familyCalendar" connection="conn1" folderpath="Calendar/family" > <!--- Must be a calendar folder---> <cfexchangecalendar action="create" event="#eventStruct#" connection="conn1" result="createdId" folderid="#familyCalendar.uid#"> <cfoutput > Created Appointment Successfully in the given calendar </cfoutput> <!--- getting appointments from the specified calendar using folderId <cfexchangecalendar action="get" name="familyItems" connection="conn1" folderid="#familyCalendar.uid#"> <cfexchangefilter name="subject" value="Test Message" > </cfexchangecalendar> <cfdump var="#familyItems#" > |
<cfexchangeconnection action="open" connection="conn1" server="<server hostname/IP>" username="<username>" password="<password>" serverversion="2010" protocol="<protocol>" >
<cfscript>
eventStruct = structnew();
eventStruct.AllDayEvent = "yes";
eventStruct.Importance = "low";
eventstruct.RequiredAttendees = "testing@cfadobe.com";
eventstruct.Subject = "This is from coldfusion just testing after the test " & rand("CFMX_COMPAT" );
eventStruct.StartTime = now();
</cfscript>
<!--- Default path delimiter is / no need to specify-->
<cfexchangecalendar action="create" event="#eventStruct#" connection="conn1" result="createdId" folderpath="Calendar/family">
<cfoutput >
Created Appointment Successfully in the given calendar
</cfoutput>
<cfexchangecalendar action="get" name="familyItems" connection="conn1" folderpath="Calendar/family" pathDelimiter="/">
<cfexchangefilter name="subject" value="This is from coldfusion just testing after the test" >
</cfexchangecalendar>
<cfdump var="#familyItems#" ><cfscript>
eventStruct = structnew();
eventStruct.AllDayEvent = "yes";
eventStruct.Importance = "low";
eventstruct.RequiredAttendees = "user@example.com";
eventstruct.Subject = "This is any subject " & rand("CFMX_COMPAT" );
eventStruct.StartTime = now();
</cfscript>
<cfexchangecalendar
action="create"
username ="user1"
password="password"
server="exchangeServerIP"
serverversion="version"
protocol="protocol"
event="eventStruct"
result="theUID" />
<cfscript>sleep(1000);</cfscript>
<cfexchangeCalendar action="get" username ="user1"
password="password"
server="exchangeServerIP"
serverversion="version"
protocol="protocol" name="getEvent">
<CFExchangeFilter name="subject" value="calendar">
</cfexchangeCalendar>
<cfset myArray = ArrayNew(1)>
<cfloop query="getEvent">
<cfset temp = ArrayAppend(myArray, "UID")>
</cfloop>
<cfset myList = ArrayToList(myArray, ",")>
<cfset myLen = ListLen(myList)>
<cfoutput query="getEvent">
<cfif getEvent.subject contains "calendar">
<cfexchangeCalendar action="delete"
username ="user1"
password="password"
server="exchangeServerIP"
serverversion="version"
protocol="protocol"
uid="myList">
Successful!<br>
</cfif>
</cfoutput>