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
(Delphi DLL) Outlook Calendar List EventsSee more Outlook Calendar ExamplesRetrieve a list of events in a calendar. For more information, see https://docs.microsoft.com/en-us/graph/api/calendar-list-events?view=graph-rest-1.0&tabs=http
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpResponse, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; jsonToken: HCkJsonObject; success: Boolean; calendarId: PWideChar; resp: HCkHttpResponse; json: HCkJsonObject; originalStartTimeZone: PWideChar; originalEndTimeZone: PWideChar; responseStatusResponse: PWideChar; responseStatusTime: PWideChar; iCalUId: PWideChar; reminderMinutesBeforeStart: Integer; isReminderOn: Boolean; i: Integer; count_i: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // Use your previously obtained access token here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint). jsonToken := CkJsonObject_Create(); success := CkJsonObject_LoadFile(jsonToken,'qa_data/tokens/outlookCalendar.json'); if (success = False) then begin Memo1.Lines.Add(CkJsonObject__lastErrorText(jsonToken)); Exit; end; CkHttp_putAuthToken(http,CkJsonObject__stringOf(jsonToken,'access_token')); // Specify the ID of the calendar to list. calendarId := 'AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEGAAAA5_vF7TKKdE6bGCRqXyl2PQAAAiCsAAAA'; CkHttp_SetUrlVar(http,'id',calendarId); // To list the events in the default calendar, use the following URL: https://graph.microsoft.com/v1.0/me/calendars/events resp := CkHttp_QuickRequest(http,'GET','https://graph.microsoft.com/v1.0/me/calendars/{$id}/events'); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; Memo1.Lines.Add('Response status code = ' + IntToStr(CkHttpResponse_getStatusCode(resp))); // The HTTP request succeeded if the response status code = 200. if (CkHttpResponse_getStatusCode(resp) <> 200) then begin Memo1.Lines.Add(CkHttpResponse__bodyStr(resp)); Memo1.Lines.Add('Failed'); CkHttpResponse_Dispose(resp); Exit; end; json := CkJsonObject_Create(); CkJsonObject_Load(json,CkHttpResponse__bodyStr(resp)); CkJsonObject_putEmitCompact(json,False); Memo1.Lines.Add(CkJsonObject__emit(json)); // Here is a sample response: // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // { // "value": [ // { // "originalStartTimeZone": "originalStartTimeZone-value", // "originalEndTimeZone": "originalEndTimeZone-value", // "responseStatus": { // "response": "", // "time": "datetime-value" // }, // "iCalUId": "iCalUId-value", // "reminderMinutesBeforeStart": 99, // "isReminderOn": true // } // ] // } CkHttpResponse_Dispose(resp); i := 0; count_i := CkJsonObject_SizeOfArray(json,'value'); while i < count_i do begin CkJsonObject_putI(json,i); originalStartTimeZone := CkJsonObject__stringOf(json,'value[i].originalStartTimeZone'); originalEndTimeZone := CkJsonObject__stringOf(json,'value[i].originalEndTimeZone'); responseStatusResponse := CkJsonObject__stringOf(json,'value[i].responseStatus.response'); responseStatusTime := CkJsonObject__stringOf(json,'value[i].responseStatus.time'); iCalUId := CkJsonObject__stringOf(json,'value[i].iCalUId'); reminderMinutesBeforeStart := CkJsonObject_IntOf(json,'value[i].reminderMinutesBeforeStart'); isReminderOn := CkJsonObject_BoolOf(json,'value[i].isReminderOn'); i := i + 1; end; CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.