Sample code for 30+ languages & platforms
React Native Requires Chilkat v11.0.0+

MS Graph Calendar Update Event

See more Microsoft Calendar Examples

Update the properties of an event object.

Chilkat React Native Downloads

React Native
import { Http, HttpResponse, JsonObject, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new 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"
  //   ]
  // }

  const json = new JsonObject();
  json.updateString('originalStartTimeZone', 'originalStartTimeZone-value');
  json.updateString('originalEndTimeZone', 'originalEndTimeZone-value');
  json.updateString('responseStatus.response', '');
  json.updateString('responseStatus.time', 'datetime-value');
  json.updateNull('recurrence');
  json.updateString('iCalUId', 'iCalUId-value');
  json.updateInt('reminderMinutesBeforeStart', 99);
  json.updateBool('isOnlineMeeting', true);
  json.updateString('onlineMeetingProvider', 'teamsForBusiness');
  json.updateBool('isReminderOn', true);
  json.updateString('categories[0]', 'Red category');

  http.setRequestHeader('Content-type', 'application/json');

  const sbRequestBody = new StringBuilder();
  json.emitSb(sbRequestBody);

  const resp = new HttpResponse();
  try {
    await http.httpSbAsync('PATCH', 'https://graph.microsoft.com/v1.0/me/events/{id}', sbRequestBody, 'utf-8', 'application/json', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  const sbResponseBody = new StringBuilder();
  resp.getBodySb(sbResponseBody);
  const jResp = new JsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  console.log('Response Body:');
  console.log(jResp.emit());

  const respStatusCode = resp.statusCode;
  console.log(`Response Status Code = ${respStatusCode}`);
  if (respStatusCode >= 400) {
    console.log('Response Header:');
    console.log(resp.header);
    console.log('Failed.');
    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

  const originalStartTimeZone = jResp.stringOf('originalStartTimeZone');
  const originalEndTimeZone = jResp.stringOf('originalEndTimeZone');
  const responseStatusResponse = jResp.stringOf('responseStatus.response');
  const responseStatusTime = jResp.stringOf('responseStatus.time');
  const recurrence = jResp.stringOf('recurrence');
  const iCalUId = jResp.stringOf('iCalUId');
  const reminderMinutesBeforeStart = jResp.intOf('reminderMinutesBeforeStart');
  const onlineMeetingProvider = jResp.stringOf('onlineMeetingProvider');
  const onlineMeetingJoinUrl = jResp.stringOf('onlineMeeting.joinUrl');
  const onlineMeetingConferenceId = jResp.stringOf('onlineMeeting.conferenceId');
  const onlineMeetingTollNumber = jResp.stringOf('onlineMeeting.tollNumber');
}