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
(C) MS Graph Calendar Update EventUpdate the properties of an event object. For more information, see https://docs.microsoft.com/en-us/graph/api/event-update?view=graph-rest-1.0&tabs=http
#include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkStringBuilder.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { HCkHttp http; BOOL success; HCkJsonObject json; HCkStringBuilder sbRequestBody; HCkHttpResponse resp; HCkStringBuilder sbResponseBody; HCkJsonObject jResp; int respStatusCode; const char *originalStartTimeZone; const char *originalEndTimeZone; const char *responseStatusResponse; const char *responseStatusTime; const char *recurrence; const char *iCalUId; int reminderMinutesBeforeStart; BOOL isOnlineMeeting; const char *onlineMeetingProvider; BOOL isReminderOn; const char *onlineMeetingJoinUrl; const char *onlineMeetingConferenceId; const char *onlineMeetingTollNumber; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); // Implements the following CURL command: // curl -X PATCH https://graph.microsoft.com/v1.0/me/events/{id} \ // -H "Content-type: application/json" \ // -d '{ // "originalStartTimeZone": "originalStartTimeZone-value", // "originalEndTimeZone": "originalEndTimeZone-value", // "responseStatus": { // "response": "", // "time": "datetime-value" // }, // "recurrence": null, // "iCalUId": "iCalUId-value", // "reminderMinutesBeforeStart": 99, // "isOnlineMeeting": true, // "onlineMeetingProvider": "teamsForBusiness", // "isReminderOn": true, // "categories": ["Red category"] // }' // Use the following online tool to generate HTTP code from a CURL command // Convert a cURL Command to HTTP Source Code // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "originalStartTimeZone": "originalStartTimeZone-value", // "originalEndTimeZone": "originalEndTimeZone-value", // "responseStatus": { // "response": "", // "time": "datetime-value" // }, // "recurrence": null, // "iCalUId": "iCalUId-value", // "reminderMinutesBeforeStart": 99, // "isOnlineMeeting": true, // "onlineMeetingProvider": "teamsForBusiness", // "isReminderOn": true, // "categories": [ // "Red category" // ] // } json = CkJsonObject_Create(); CkJsonObject_UpdateString(json,"originalStartTimeZone","originalStartTimeZone-value"); CkJsonObject_UpdateString(json,"originalEndTimeZone","originalEndTimeZone-value"); CkJsonObject_UpdateString(json,"responseStatus.response",""); CkJsonObject_UpdateString(json,"responseStatus.time","datetime-value"); CkJsonObject_UpdateNull(json,"recurrence"); CkJsonObject_UpdateString(json,"iCalUId","iCalUId-value"); CkJsonObject_UpdateInt(json,"reminderMinutesBeforeStart",99); CkJsonObject_UpdateBool(json,"isOnlineMeeting",TRUE); CkJsonObject_UpdateString(json,"onlineMeetingProvider","teamsForBusiness"); CkJsonObject_UpdateBool(json,"isReminderOn",TRUE); CkJsonObject_UpdateString(json,"categories[0]","Red category"); CkHttp_SetRequestHeader(http,"Content-type","application/json"); sbRequestBody = CkStringBuilder_Create(); CkJsonObject_EmitSb(json,sbRequestBody); resp = CkHttp_PTextSb(http,"PATCH","https://graph.microsoft.com/v1.0/me/events/{id}",sbRequestBody,"utf-8","application/json",FALSE,FALSE); if (CkHttp_getLastMethodSuccess(http) == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); return; } sbResponseBody = CkStringBuilder_Create(); CkHttpResponse_GetBodySb(resp,sbResponseBody); jResp = CkJsonObject_Create(); CkJsonObject_LoadSb(jResp,sbResponseBody); CkJsonObject_putEmitCompact(jResp,FALSE); printf("Response Body:\n"); printf("%s\n",CkJsonObject_emit(jResp)); respStatusCode = CkHttpResponse_getStatusCode(resp); printf("Response Status Code = %d\n",respStatusCode); if (respStatusCode >= 400) { printf("Response Header:\n"); printf("%s\n",CkHttpResponse_header(resp)); printf("Failed.\n"); CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); return; } CkHttpResponse_Dispose(resp); // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "originalStartTimeZone": "originalStartTimeZone-value", // "originalEndTimeZone": "originalEndTimeZone-value", // "responseStatus": { // "response": "", // "time": "datetime-value" // }, // "recurrence": null, // "iCalUId": "iCalUId-value", // "reminderMinutesBeforeStart": 99, // "isOnlineMeeting": true, // "onlineMeetingProvider": "teamsForBusiness", // "isReminderOn": true, // "onlineMeeting": { // "joinUrl": "https://teams.microsoft.com/l/meetup-join/19%3ameeting_NzIyNzhlMGEtM2YyZC00ZmY0LTlhNzUtZmZjNWFmZGNlNzE2%40thread.v2/0?context=%7b%22Tid%22%3a%2272f988bf-86f1-41af-91ab-2d7cd011db47%22%2c%22Oid%22%3a%22bc55b173-cff6-457d-b7a1-64bda7d7581a%22%7d", // "conferenceId": "177513992", // "tollNumber": "+91 22 6241 6885" // } // } // Sample code for parsing the JSON response... // Use the following online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat. // See this example explaining how this memory should be used: const char * functions. originalStartTimeZone = CkJsonObject_stringOf(jResp,"originalStartTimeZone"); originalEndTimeZone = CkJsonObject_stringOf(jResp,"originalEndTimeZone"); responseStatusResponse = CkJsonObject_stringOf(jResp,"responseStatus.response"); responseStatusTime = CkJsonObject_stringOf(jResp,"responseStatus.time"); recurrence = CkJsonObject_stringOf(jResp,"recurrence"); iCalUId = CkJsonObject_stringOf(jResp,"iCalUId"); reminderMinutesBeforeStart = CkJsonObject_IntOf(jResp,"reminderMinutesBeforeStart"); isOnlineMeeting = CkJsonObject_BoolOf(jResp,"isOnlineMeeting"); onlineMeetingProvider = CkJsonObject_stringOf(jResp,"onlineMeetingProvider"); isReminderOn = CkJsonObject_BoolOf(jResp,"isReminderOn"); onlineMeetingJoinUrl = CkJsonObject_stringOf(jResp,"onlineMeeting.joinUrl"); onlineMeetingConferenceId = CkJsonObject_stringOf(jResp,"onlineMeeting.conferenceId"); onlineMeetingTollNumber = CkJsonObject_stringOf(jResp,"onlineMeeting.tollNumber"); CkHttp_Dispose(http); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sbRequestBody); CkStringBuilder_Dispose(sbResponseBody); CkJsonObject_Dispose(jResp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.