Sample code for 30+ languages & platforms
Swift

Outlook Calendar List Events

See more Outlook Calendar Examples

Retrieve a list of events in a calendar.

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 here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint).

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

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

    // Specify the ID of the calendar to list.
    var calendarId: String? = "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEGAAAA5_vF7TKKdE6bGCRqXyl2PQAAAiCsAAAA"

    http.setUrlVar(name: "id", value: calendarId)

    // To list the events in the default calendar, use the following URL: https://graph.microsoft.com/v1.0/me/calendars/events

    let resp = CkoHttpResponse()!
    success = http.httpNoBody(verb: "GET", url: "https://graph.microsoft.com/v1.0/me/calendars/{$id}/events", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    print("Response status code = \(resp.statusCode.intValue)")

    // The HTTP request succeeded if the response status code = 200.
    if resp.statusCode.intValue != 200 {
        print("\(resp.bodyStr!)")
        print("Failed")
        return
    }

    let json = CkoJsonObject()!
    json.load(json: resp.bodyStr)
    json.emitCompact = false
    print("\(json.emit()!)")

    // Here is a sample response:

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

    // {
    //   "value": [
    //     {
    //       "originalStartTimeZone": "originalStartTimeZone-value",
    //       "originalEndTimeZone": "originalEndTimeZone-value",
    //       "responseStatus": {
    //         "response": "",
    //         "time": "datetime-value"
    //       },
    //       "iCalUId": "iCalUId-value",
    //       "reminderMinutesBeforeStart": 99,
    //       "isReminderOn": true
    //     }
    //   ]
    // }

    var originalStartTimeZone: String?
    var originalEndTimeZone: String?
    var responseStatusResponse: String?
    var responseStatusTime: String?
    var iCalUId: String?
    var reminderMinutesBeforeStart: Int
    var isReminderOn: Bool

    var i: Int = 0
    var count_i: Int = json.size(ofArray: "value").intValue
    while i < count_i {
        json.i = i
        originalStartTimeZone = json.string(of: "value[i].originalStartTimeZone")
        originalEndTimeZone = json.string(of: "value[i].originalEndTimeZone")
        responseStatusResponse = json.string(of: "value[i].responseStatus.response")
        responseStatusTime = json.string(of: "value[i].responseStatus.time")
        iCalUId = json.string(of: "value[i].iCalUId")
        reminderMinutesBeforeStart = json.int(of: "value[i].reminderMinutesBeforeStart").intValue
        isReminderOn = json.bool(of: "value[i].isReminderOn")
        i = i + 1
    }


}