Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Xojo Plugin) MS Graph Calendar List EventsRetrieve a list of events in a calendar. The list contains single instance meetings and series masters. For more details, see https://docs.microsoft.com/en-us/graph/api/calendar-list-events?view=graph-rest-1.0
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Dim http As New Chilkat.Http // Use your previously obtained access token as shown here: // Get Microsoft Graph OAuth2 Access Token with Calendars.ReadWrite scope. Dim jsonToken As New Chilkat.JsonObject Dim success As Boolean success = jsonToken.LoadFile("qa_data/tokens/msGraphCalendar.json") If (success = False) Then System.DebugLog(jsonToken.LastErrorText) Return End If http.AuthToken = jsonToken.StringOf("access_token") // Specify the calendar id success = http.SetUrlVar("id","AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEGAAAA5_vF7TKKdE6bGCRqXyl2PQAClEpRTgAAAA==") // Send a GET request to https://graph.microsoft.com/v1.0/me/calendars/{$id}/events Dim strResponse As String strResponse = http.QuickGetStr("https://graph.microsoft.com/v1.0/me/calendars/{$id}/events") If (http.LastMethodSuccess = False) Then System.DebugLog(http.LastErrorText) Return End If Dim json As New Chilkat.JsonObject success = json.Load(strResponse) json.EmitCompact = False If (http.LastStatus <> 200) Then System.DebugLog(json.Emit()) System.DebugLog("Failed, response status code = " + Str(http.LastStatus)) Return End If System.DebugLog(json.Emit()) // Sample output: // (See parsing code below..) // { // "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin%40chilkat.io')/calendars('AQMkADAwATM0MDAAMS1i ... AClEpRTgAAAA%3D%3D')/events", // "value": [ // { // "@odata.etag": "W/\"5+vF7TKKdE6bGCRqXyl2PQAClIgmmw==\"", // "id": "AQMkADAwATM0MDAAM ... AApRZ7JkAAAA=", // "createdDateTime": "2019-04-26T14:31:39.8791929Z", // "lastModifiedDateTime": "2019-04-26T14:31:41.2753537Z", // "changeKey": "5+vF7TKKdE6bGCRqXyl2PQAClIgmmw==", // "categories": [ // ], // "originalStartTimeZone": "Pacific Standard Time", // "originalEndTimeZone": "Pacific Standard Time", // "iCalUId": "040000008200E ... A230FEBFE5F7486A", // "reminderMinutesBeforeStart": 15, // "isReminderOn": true, // "hasAttachments": false, // "subject": "Let's go for lunch", // "bodyPreview": "Does mid month 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=AQMkADAwATM0MDAAMS1iNTcwLWI2NT ... gkal8pdj0AApRZ7JkAAAA%3D&exvsurl=1&path=/calendar/item", // "onlineMeetingUrl": null, // "recurrence": 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 mid month work for you?\r\n</body>\r\n</html>\r\n" // }, // "start": { // "dateTime": "2019-11-15T20:00:00.0000000", // "timeZone": "UTC" // }, // "end": { // "dateTime": "2019-11-15T22:00:00.0000000", // "timeZone": "UTC" // }, // "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": "Adele Vance", // "address": "adelev@contoso.onmicrosoft.com" // } // } // ], // "organizer": { // "emailAddress": { // "name": "Matt", // "address": "outlook_3A33FCEB9B74CC15@outlook.com" // } // } // } // ] // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON Dim odataContext As String Dim i As Int32 Dim count_i As Int32 Dim odataEtag As String Dim id As String Dim createdDateTime As String Dim lastModifiedDateTime As String Dim changeKey As String Dim originalStartTimeZone As String Dim originalEndTimeZone As String Dim iCalUId As String Dim reminderMinutesBeforeStart As Int32 Dim isReminderOn As Boolean Dim hasAttachments As Boolean Dim subject As String Dim bodyPreview As String Dim importance As String Dim sensitivity As String Dim isAllDay As Boolean Dim isCancelled As Boolean Dim isOrganizer As Boolean Dim responseRequested As Boolean Dim seriesMasterId As String Dim showAs As String Dim v_type As String Dim webLink As String Dim onlineMeetingUrl As String Dim recurrence As String Dim responseStatusResponse As String Dim responseStatusTime As String Dim bodyContentType As String Dim bodyContent As String Dim startDateTime As String Dim startTimeZone As String Dim endDateTime As String Dim endTimeZone As String Dim locationDisplayName As String Dim locationLocationType As String Dim locationUniqueId As String Dim locationUniqueIdType As String Dim organizerEmailAddressName As String Dim organizerEmailAddressAddress As String Dim j As Int32 Dim count_j As Int32 Dim displayName As String Dim locationType As String Dim uniqueId As String Dim uniqueIdType As String Dim statusResponse As String Dim statusTime As String Dim emailAddressName As String Dim emailAddressAddress As String odataContext = json.StringOf("""@odata.context""") i = 0 count_i = json.SizeOfArray("value") While i < count_i json.I = i odataEtag = json.StringOf("value[i].""@odata.etag""") id = json.StringOf("value[i].id") createdDateTime = json.StringOf("value[i].createdDateTime") lastModifiedDateTime = json.StringOf("value[i].lastModifiedDateTime") changeKey = json.StringOf("value[i].changeKey") originalStartTimeZone = json.StringOf("value[i].originalStartTimeZone") originalEndTimeZone = json.StringOf("value[i].originalEndTimeZone") iCalUId = json.StringOf("value[i].iCalUId") reminderMinutesBeforeStart = json.IntOf("value[i].reminderMinutesBeforeStart") isReminderOn = json.BoolOf("value[i].isReminderOn") hasAttachments = json.BoolOf("value[i].hasAttachments") subject = json.StringOf("value[i].subject") bodyPreview = json.StringOf("value[i].bodyPreview") importance = json.StringOf("value[i].importance") sensitivity = json.StringOf("value[i].sensitivity") isAllDay = json.BoolOf("value[i].isAllDay") isCancelled = json.BoolOf("value[i].isCancelled") isOrganizer = json.BoolOf("value[i].isOrganizer") responseRequested = json.BoolOf("value[i].responseRequested") seriesMasterId = json.StringOf("value[i].seriesMasterId") showAs = json.StringOf("value[i].showAs") v_type = json.StringOf("value[i].type") webLink = json.StringOf("value[i].webLink") onlineMeetingUrl = json.StringOf("value[i].onlineMeetingUrl") recurrence = json.StringOf("value[i].recurrence") responseStatusResponse = json.StringOf("value[i].responseStatus.response") responseStatusTime = json.StringOf("value[i].responseStatus.time") bodyContentType = json.StringOf("value[i].body.contentType") bodyContent = json.StringOf("value[i].body.content") startDateTime = json.StringOf("value[i].start.dateTime") startTimeZone = json.StringOf("value[i].start.timeZone") endDateTime = json.StringOf("value[i].end.dateTime") endTimeZone = json.StringOf("value[i].end.timeZone") locationDisplayName = json.StringOf("value[i].location.displayName") locationLocationType = json.StringOf("value[i].location.locationType") locationUniqueId = json.StringOf("value[i].location.uniqueId") locationUniqueIdType = json.StringOf("value[i].location.uniqueIdType") organizerEmailAddressName = json.StringOf("value[i].organizer.emailAddress.name") organizerEmailAddressAddress = json.StringOf("value[i].organizer.emailAddress.address") j = 0 count_j = json.SizeOfArray("value[i].categories") While j < count_j json.J = j // ... j = j + 1 Wend j = 0 count_j = json.SizeOfArray("value[i].locations") While j < count_j json.J = j displayName = json.StringOf("value[i].locations[j].displayName") locationType = json.StringOf("value[i].locations[j].locationType") uniqueId = json.StringOf("value[i].locations[j].uniqueId") uniqueIdType = json.StringOf("value[i].locations[j].uniqueIdType") j = j + 1 Wend j = 0 count_j = json.SizeOfArray("value[i].attendees") While j < count_j json.J = j v_type = json.StringOf("value[i].attendees[j].type") statusResponse = json.StringOf("value[i].attendees[j].status.response") statusTime = json.StringOf("value[i].attendees[j].status.time") emailAddressName = json.StringOf("value[i].attendees[j].emailAddress.name") emailAddressAddress = json.StringOf("value[i].attendees[j].emailAddress.address") j = j + 1 Wend i = i + 1 Wend System.DebugLog("Success.") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.