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

MS Graph Create Calendar

See more Microsoft Calendar Examples

Creates a new calendar.

For more details, see https://docs.microsoft.com/en-us/graph/api/user-post-calendars?view=graph-rest-1.0

Chilkat Dart Downloads

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

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

  final http = CkHttp();

  // Use your previously obtained access token as shown here:
  //    Get Microsoft Graph OAuth2 Access Token with Calendars.ReadWrite scope.

  final jsonToken = CkJsonObject();
  try {
    jsonToken.loadFile('qa_data/tokens/msGraphCalendar.json');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  http.authToken = jsonToken.stringOf('access_token');

  // Create a JSON body for the HTTP POST
  // {
  //   "name": "Work"
  // }
  final json = CkJsonObject();
  json.updateString('name', 'Work');

  // POST the JSON to https://graph.microsoft.com/v1.0/me/calendars
  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://graph.microsoft.com/v1.0/me/calendars', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  json.load(resp.bodyStr);
  json.emitCompact = false;

  if (resp.statusCode != 201) {
    print(json.emit());
    print('Failed, response status code = ${resp.statusCode}');
    return;
  }

  print(json.emit());

  // A sample response:
  // {
  //   "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin%40chilkat.io')/calendars/$entity",
  //   "id": "AQMkAD...TgAAAA==",
  //   "name": "Work",
  //   "color": "auto",
  //   "changeKey": "5+vF7T...HjDcA==",
  //   "canShare": true,
  //   "canViewPrivateItems": true,
  //   "canEdit": true,
  //   "owner": {
  //     "name": "...",
  //     "address": "outlook_3A33...4CC15@outlook.com"
  //   }
  // }

  // Use this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON

  final odataContext = json.stringOf('"@odata.context"');
  final id = json.stringOf('id');
  final name = json.stringOf('name');
  final color = json.stringOf('color');
  final changeKey = json.stringOf('changeKey');
  final canShare = json.boolOf('canShare');
  final canViewPrivateItems = json.boolOf('canViewPrivateItems');
  final canEdit = json.boolOf('canEdit');
  final ownerName = json.stringOf('owner.name');
  final ownerAddress = json.stringOf('owner.address');

  print('Success.');
}