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

MS Graph Calendar Update Event

See more Microsoft Calendar Examples

Update the properties of an event object.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  // 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"
  //   ]
  // }

  final json = CkJsonObject();
  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');

  final sbRequestBody = CkStringBuilder();
  json.emitSb(sbRequestBody);

  final resp = CkHttpResponse();
  try {
    http.httpSb('PATCH', 'https://graph.microsoft.com/v1.0/me/events/{id}', sbRequestBody, 'utf-8', 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('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

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