Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

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

    let jsonToken = CkoJsonObject()!
    success = jsonToken.loadFile(path: "qa_data/tokens/msGraphCalendar.json")
    if success == false {
        print("\(jsonToken.lastErrorText!)")
        return
    }

    http.authToken = jsonToken.string(of: "access_token")

    // Create a JSON body for the HTTP POST
    // {
    //   "name": "Work"
    // }
    let json = CkoJsonObject()!
    json.updateString(jsonPath: "name", value: "Work")

    // POST the JSON to https://graph.microsoft.com/v1.0/me/calendars
    let resp = CkoHttpResponse()!
    success = http.httpJson(verb: "POST", url: "https://graph.microsoft.com/v1.0/me/calendars", json: json, contentType: "application/json", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

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

    if resp.statusCode.intValue != 201 {
        print("\(json.emit()!)")
        print("Failed, response status code = \(resp.statusCode.intValue)")
        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

    var odataContext: String? = json.string(of: "\"@odata.context\"")
    var id: String? = json.string(of: "id")
    var name: String? = json.string(of: "name")
    var color: String? = json.string(of: "color")
    var changeKey: String? = json.string(of: "changeKey")
    var canShare: String? = json.bool(of: "canShare")
    var canViewPrivateItems: String? = json.bool(of: "canViewPrivateItems")
    var canEdit: String? = json.bool(of: "canEdit")
    var ownerName: String? = json.string(of: "owner.name")
    var ownerAddress: String? = json.string(of: "owner.address")

    print("Success.")

}