Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
#import <NSString.h>

BOOL success = NO;

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

CkoHttp *http = [[CkoHttp alloc] init];

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

CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init];
success = [jsonToken LoadFile: @"qa_data/tokens/msGraphCalendar.json"];
if (success == NO) {
    NSLog(@"%@",jsonToken.LastErrorText);
    return;
}

http.AuthToken = [jsonToken StringOf: @"access_token"];

// Create a JSON body for the HTTP POST
// {
//   "name": "Work"
// }
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"name" value: @"Work"];

// POST the JSON to https://graph.microsoft.com/v1.0/me/calendars
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: @"https://graph.microsoft.com/v1.0/me/calendars" json: json contentType: @"application/json" response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

[json Load: resp.BodyStr];
json.EmitCompact = NO;

if ([resp.StatusCode intValue] != 201) {
    NSLog(@"%@",[json Emit]);
    NSLog(@"%@%d",@"Failed, response status code = ",[resp.StatusCode intValue]);
    return;
}

NSLog(@"%@",[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

NSString *odataContext = [json StringOf: @"\"@odata.context\""];
NSString *id = [json StringOf: @"id"];
NSString *name = [json StringOf: @"name"];
NSString *color = [json StringOf: @"color"];
NSString *changeKey = [json StringOf: @"changeKey"];
NSString *canShare = [json BoolOf: @"canShare"];
NSString *canViewPrivateItems = [json BoolOf: @"canViewPrivateItems"];
NSString *canEdit = [json BoolOf: @"canEdit"];
NSString *ownerName = [json StringOf: @"owner.name"];
NSString *ownerAddress = [json StringOf: @"owner.address"];

NSLog(@"%@",@"Success.");