Sample code for 30+ languages & platforms
Swift

MS Graph Calendar Update Event

See more Microsoft Calendar Examples

Update the properties of an event object.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

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

    let json = CkoJsonObject()!
    json.updateString(jsonPath: "originalStartTimeZone", value: "originalStartTimeZone-value")
    json.updateString(jsonPath: "originalEndTimeZone", value: "originalEndTimeZone-value")
    json.updateString(jsonPath: "responseStatus.response", value: "")
    json.updateString(jsonPath: "responseStatus.time", value: "datetime-value")
    json.updateNull(jsonPath: "recurrence")
    json.updateString(jsonPath: "iCalUId", value: "iCalUId-value")
    json.updateInt(jsonPath: "reminderMinutesBeforeStart", value: 99)
    json.updateBool(jsonPath: "isOnlineMeeting", value: true)
    json.updateString(jsonPath: "onlineMeetingProvider", value: "teamsForBusiness")
    json.updateBool(jsonPath: "isReminderOn", value: true)
    json.updateString(jsonPath: "categories[0]", value: "Red category")

    http.setRequestHeader(name: "Content-type", value: "application/json")

    let sbRequestBody = CkoStringBuilder()!
    json.emitSb(sb: sbRequestBody)

    let resp = CkoHttpResponse()!
    success = http.httpSb(verb: "PATCH", url: "https://graph.microsoft.com/v1.0/me/events/{id}", sb: sbRequestBody, charset: "utf-8", contentType: "application/json", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let sbResponseBody = CkoStringBuilder()!
    resp.getBodySb(sb: sbResponseBody)
    let jResp = CkoJsonObject()!
    jResp.loadSb(sb: sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = resp.statusCode.intValue
    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

    var originalStartTimeZone: String? = jResp.string(of: "originalStartTimeZone")
    var originalEndTimeZone: String? = jResp.string(of: "originalEndTimeZone")
    var responseStatusResponse: String? = jResp.string(of: "responseStatus.response")
    var responseStatusTime: String? = jResp.string(of: "responseStatus.time")
    var recurrence: String? = jResp.string(of: "recurrence")
    var iCalUId: String? = jResp.string(of: "iCalUId")
    var reminderMinutesBeforeStart: Int = jResp.int(of: "reminderMinutesBeforeStart").intValue
    var isOnlineMeeting: Bool = jResp.bool(of: "isOnlineMeeting")
    var onlineMeetingProvider: String? = jResp.string(of: "onlineMeetingProvider")
    var isReminderOn: Bool = jResp.bool(of: "isReminderOn")
    var onlineMeetingJoinUrl: String? = jResp.string(of: "onlineMeeting.joinUrl")
    var onlineMeetingConferenceId: String? = jResp.string(of: "onlineMeeting.conferenceId")
    var onlineMeetingTollNumber: String? = jResp.string(of: "onlineMeeting.tollNumber")

}