|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Classic ASP) Outlook Calendar Create an EventSee more Outlook Calendar ExamplesCreate an event in the specified time zone, and assign the event an optional transactionId value.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://docs.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http#example-1-create-an-event-in-the-specified-time-zone-and-assign-the-event-an-optional-transactionid-value 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% success = 0 ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. set http = Server.CreateObject("Chilkat.Http") ' Use your previously obtained access token here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint). set jsonToken = Server.CreateObject("Chilkat.JsonObject") success = jsonToken.LoadFile("qa_data/tokens/outlookCalendar.json") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( jsonToken.LastErrorText) & "</pre>" Response.End End If http.AuthToken = jsonToken.StringOf("access_token") ' Send the following POST: ' POST https://graph.microsoft.com/v1.0/me/events ' Prefer: outlook.timezone="Pacific Standard Time" ' Content-type: application/json ' ' { ' "subject": "Let's go for lunch", ' "body": { ' "contentType": "HTML", ' "content": "Does noon work for you?" ' }, ' "start": { ' "dateTime": "2017-04-15T12:00:00", ' "timeZone": "Pacific Standard Time" ' }, ' "end": { ' "dateTime": "2017-04-15T14:00:00", ' "timeZone": "Pacific Standard Time" ' }, ' "location":{ ' "displayName":"Harry's Bar" ' }, ' "attendees": [ ' { ' "emailAddress": { ' "address":"samanthab@contoso.onmicrosoft.com", ' "name": "Samantha Booth" ' }, ' "type": "required" ' } ' ], ' "allowNewTimeProposals": true, ' "transactionId":"7E163156-7762-4BEB-A1C6-729EA81755A7" ' } ' Build the JSON body of the POST. set json = Server.CreateObject("Chilkat.JsonObject") success = json.UpdateString("subject","Let's go for lunch") success = json.UpdateString("body.contentType","HTML") success = json.UpdateString("body.content","Does noon work for you?") success = json.UpdateString("start.dateTime","2021-05-15T12:00:00") success = json.UpdateString("start.timeZone","Pacific Standard Time") success = json.UpdateString("end.dateTime","2021-05-15T14:00:00") success = json.UpdateString("end.timeZone","Pacific Standard Time") success = json.UpdateString("location.displayName","Harry's Bar") success = json.UpdateString("attendees[0].emailAddress.address","samanthab@contoso.onmicrosoft.com") success = json.UpdateString("attendees[0].emailAddress.name","Samantha Booth") success = json.UpdateString("attendees[0].type","required") success = json.UpdateBool("allowNewTimeProposals",1) ' Generate a UUID. set crypt = Server.CreateObject("Chilkat.Crypt2") success = json.UpdateString("transactionId",crypt.GenerateUuid()) ' Add the "Prefer" request header. http.SetRequestHeader "Prefer","outlook.timezone=""Pacific Standard Time""" ' Send the HTTP POST set resp = Server.CreateObject("Chilkat.HttpResponse") success = http.HttpJson("POST","https://graph.microsoft.com/v1.0/me/events",json,"application/json",resp) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>" Response.End End If Response.Write "<pre>" & Server.HTMLEncode( "Response status code = " & resp.StatusCode) & "</pre>" set jResp = Server.CreateObject("Chilkat.JsonObject") success = jResp.Load(resp.BodyStr) jResp.EmitCompact = 0 Response.Write "<pre>" & Server.HTMLEncode( jResp.Emit()) & "</pre>" ' The send succeeded if the response status code = 201. If (resp.StatusCode <> 201) Then Response.Write "<pre>" & Server.HTMLEncode( "Failed") & "</pre>" Response.End End If ' Sample JSON response: ' (Sample code for parsing the JSON response is shown below) ' { ' "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('user%40example.com')/events/$entity", ' "@odata.etag": "W/\"5+vF7TKKdE6bGCRqXyl2PQAEaGQgcw==\"", ' "id": "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgENAAAA5_vF7TKKdE6bGCRqXyl2PQAEaDkEcAAAAA==", ' "createdDateTime": "2021-04-18T23:38:52.1979259Z", ' "lastModifiedDateTime": "2021-04-18T23:38:53.3747647Z", ' "changeKey": "5+vF7TKKdE6bGCRqXyl2PQAEaGQgcw==", ' "categories": [ ' ], ' "transactionId": "1d12b565-3ca3-4ed8-b3f9-e8a14ac3ac17", ' "originalStartTimeZone": "Pacific Standard Time", ' "originalEndTimeZone": "Pacific Standard Time", ' "iCalUId": "040000008200E00074C5B7101A82E00800000000EF0328FDAB34D7010000000000000000100000004478DD5948382543AFD1B52C25E88C02", ' "reminderMinutesBeforeStart": 15, ' "isReminderOn": true, ' "hasAttachments": false, ' "subject": "Let's go for lunch", ' "bodyPreview": "Does noon work for you?", ' "importance": "normal", ' "sensitivity": "normal", ' "isAllDay": false, ' "isCancelled": false, ' "isOrganizer": true, ' "responseRequested": true, ' "seriesMasterId": null, ' "showAs": "busy", ' "type": "singleInstance", ' "webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5%2BvF7TKKdE6bGCRqXyl2PQAAAgENAAAA5%2BvF7TKKdE6bGCRqXyl2PQAEaDkEcAAAAA%3D%3D&exvsurl=1&path=/calendar/item", ' "onlineMeetingUrl": null, ' "isOnlineMeeting": false, ' "onlineMeetingProvider": "unknown", ' "allowNewTimeProposals": true, ' "isDraft": false, ' "hideAttendees": false, ' "recurrence": null, ' "onlineMeeting": null, ' "responseStatus": { ' "response": "organizer", ' "time": "0001-01-01T00:00:00Z" ' }, ' "body": { ' "contentType": "html", ' "content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nDoes noon work for you?\r\n</body>\r\n</html>\r\n" ' }, ' "start": { ' "dateTime": "2021-05-15T12:00:00.0000000", ' "timeZone": "Pacific Standard Time" ' }, ' "end": { ' "dateTime": "2021-05-15T14:00:00.0000000", ' "timeZone": "Pacific Standard Time" ' }, ' "location": { ' "displayName": "Harry's Bar", ' "locationType": "default", ' "uniqueId": "Harry's Bar", ' "uniqueIdType": "private" ' }, ' "locations": [ ' { ' "displayName": "Harry's Bar", ' "locationType": "default", ' "uniqueId": "Harry's Bar", ' "uniqueIdType": "private" ' } ' ], ' "attendees": [ ' { ' "type": "required", ' "status": { ' "response": "none", ' "time": "0001-01-01T00:00:00Z" ' }, ' "emailAddress": { ' "name": "Samantha Booth", ' "address": "samanthab@contoso.onmicrosoft.com" ' } ' } ' ], ' "organizer": { ' "emailAddress": { ' "name": "John Doe", ' "address": "outlook_3A33FCEB9B74CC15@outlook.com" ' } ' } ' } ' Sample code for parsing the JSON response... ' Use the following online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON odata_context = jResp.StringOf("""@odata.context""") odata_etag = jResp.StringOf("""@odata.etag""") id = jResp.StringOf("id") createdDateTime = jResp.StringOf("createdDateTime") lastModifiedDateTime = jResp.StringOf("lastModifiedDateTime") changeKey = jResp.StringOf("changeKey") transactionId = jResp.StringOf("transactionId") originalStartTimeZone = jResp.StringOf("originalStartTimeZone") originalEndTimeZone = jResp.StringOf("originalEndTimeZone") iCalUId = jResp.StringOf("iCalUId") reminderMinutesBeforeStart = jResp.IntOf("reminderMinutesBeforeStart") isReminderOn = jResp.BoolOf("isReminderOn") hasAttachments = jResp.BoolOf("hasAttachments") subject = jResp.StringOf("subject") bodyPreview = jResp.StringOf("bodyPreview") importance = jResp.StringOf("importance") sensitivity = jResp.StringOf("sensitivity") isAllDay = jResp.BoolOf("isAllDay") isCancelled = jResp.BoolOf("isCancelled") isOrganizer = jResp.BoolOf("isOrganizer") responseRequested = jResp.BoolOf("responseRequested") seriesMasterId = jResp.StringOf("seriesMasterId") showAs = jResp.StringOf("showAs") v_type = jResp.StringOf("type") webLink = jResp.StringOf("webLink") onlineMeetingUrl = jResp.StringOf("onlineMeetingUrl") isOnlineMeeting = jResp.BoolOf("isOnlineMeeting") onlineMeetingProvider = jResp.StringOf("onlineMeetingProvider") allowNewTimeProposals = jResp.BoolOf("allowNewTimeProposals") isDraft = jResp.BoolOf("isDraft") hideAttendees = jResp.BoolOf("hideAttendees") recurrence = jResp.StringOf("recurrence") onlineMeeting = jResp.StringOf("onlineMeeting") responseStatusResponse = jResp.StringOf("responseStatus.response") responseStatusTime = jResp.StringOf("responseStatus.time") bodyContentType = jResp.StringOf("body.contentType") bodyContent = jResp.StringOf("body.content") startDateTime = jResp.StringOf("start.dateTime") startTimeZone = jResp.StringOf("start.timeZone") endDateTime = jResp.StringOf("end.dateTime") endTimeZone = jResp.StringOf("end.timeZone") locationDisplayName = jResp.StringOf("location.displayName") locationLocationType = jResp.StringOf("location.locationType") locationUniqueId = jResp.StringOf("location.uniqueId") locationUniqueIdType = jResp.StringOf("location.uniqueIdType") organizerEmailAddressName = jResp.StringOf("organizer.emailAddress.name") organizerEmailAddressAddress = jResp.StringOf("organizer.emailAddress.address") i = 0 count_i = jResp.SizeOfArray("categories") Do While i < count_i jResp.I = i i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("locations") Do While i < count_i jResp.I = i displayName = jResp.StringOf("locations[i].displayName") locationType = jResp.StringOf("locations[i].locationType") uniqueId = jResp.StringOf("locations[i].uniqueId") uniqueIdType = jResp.StringOf("locations[i].uniqueIdType") i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("attendees") Do While i < count_i jResp.I = i v_type = jResp.StringOf("attendees[i].type") statusResponse = jResp.StringOf("attendees[i].status.response") statusTime = jResp.StringOf("attendees[i].status.time") emailAddressName = jResp.StringOf("attendees[i].emailAddress.name") emailAddressAddress = jResp.StringOf("attendees[i].emailAddress.address") i = i + 1 Loop Response.Write "<pre>" & Server.HTMLEncode( "Event created.") & "</pre>" %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.