Unicode C++
Unicode C++
MS Graph Calendar Update Event
See more Microsoft Calendar Examples
Update the properties of an event object.Chilkat Unicode C++ Downloads
#include <CkHttpW.h>
#include <CkJsonObjectW.h>
#include <CkStringBuilderW.h>
#include <CkHttpResponseW.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttpW http;
// 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"
// ]
// }
CkJsonObjectW json;
json.UpdateString(L"originalStartTimeZone",L"originalStartTimeZone-value");
json.UpdateString(L"originalEndTimeZone",L"originalEndTimeZone-value");
json.UpdateString(L"responseStatus.response",L"");
json.UpdateString(L"responseStatus.time",L"datetime-value");
json.UpdateNull(L"recurrence");
json.UpdateString(L"iCalUId",L"iCalUId-value");
json.UpdateInt(L"reminderMinutesBeforeStart",99);
json.UpdateBool(L"isOnlineMeeting",true);
json.UpdateString(L"onlineMeetingProvider",L"teamsForBusiness");
json.UpdateBool(L"isReminderOn",true);
json.UpdateString(L"categories[0]",L"Red category");
http.SetRequestHeader(L"Content-type",L"application/json");
CkStringBuilderW sbRequestBody;
json.EmitSb(sbRequestBody);
CkHttpResponseW resp;
success = http.HttpSb(L"PATCH",L"https://graph.microsoft.com/v1.0/me/events/{id}",sbRequestBody,L"utf-8",L"application/json",resp);
if (success == false) {
wprintf(L"%s\n",http.lastErrorText());
return;
}
CkStringBuilderW sbResponseBody;
resp.GetBodySb(sbResponseBody);
CkJsonObjectW jResp;
jResp.LoadSb(sbResponseBody);
jResp.put_EmitCompact(false);
wprintf(L"Response Body:\n");
wprintf(L"%s\n",jResp.emit());
int respStatusCode = resp.get_StatusCode();
wprintf(L"Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
wprintf(L"Response Header:\n");
wprintf(L"%s\n",resp.header());
wprintf(L"Failed.\n");
return;
}
// 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.
const wchar_t *originalStartTimeZone = jResp.stringOf(L"originalStartTimeZone");
const wchar_t *originalEndTimeZone = jResp.stringOf(L"originalEndTimeZone");
const wchar_t *responseStatusResponse = jResp.stringOf(L"responseStatus.response");
const wchar_t *responseStatusTime = jResp.stringOf(L"responseStatus.time");
const wchar_t *recurrence = jResp.stringOf(L"recurrence");
const wchar_t *iCalUId = jResp.stringOf(L"iCalUId");
int reminderMinutesBeforeStart = jResp.IntOf(L"reminderMinutesBeforeStart");
bool isOnlineMeeting = jResp.BoolOf(L"isOnlineMeeting");
const wchar_t *onlineMeetingProvider = jResp.stringOf(L"onlineMeetingProvider");
bool isReminderOn = jResp.BoolOf(L"isReminderOn");
const wchar_t *onlineMeetingJoinUrl = jResp.stringOf(L"onlineMeeting.joinUrl");
const wchar_t *onlineMeetingConferenceId = jResp.stringOf(L"onlineMeeting.conferenceId");
const wchar_t *onlineMeetingTollNumber = jResp.stringOf(L"onlineMeeting.tollNumber");
}