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

MS Graph Calendar Update Event

See more Microsoft Calendar Examples

Update the properties of an event object.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("http")

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

Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("originalStartTimeZone", "originalStartTimeZone-value")
json.UpdateString("originalEndTimeZone", "originalEndTimeZone-value")
json.UpdateString("responseStatus.response", "")
json.UpdateString("responseStatus.time", "datetime-value")
json.UpdateNull("recurrence")
json.UpdateString("iCalUId", "iCalUId-value")
json.UpdateInt("reminderMinutesBeforeStart", 99)
json.UpdateBool("isOnlineMeeting", True)
json.UpdateString("onlineMeetingProvider", "teamsForBusiness")
json.UpdateBool("isReminderOn", True)
json.UpdateString("categories[0]", "Red category")

http.SetRequestHeader("Content-type", "application/json")

Dim sbRequestBody As ChilkatStringBuilder
sbRequestBody.Initialize
json.EmitSb(sbRequestBody)

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpSb("PATCH", "https://graph.microsoft.com/v1.0/me/events/{id}", sbRequestBody, "utf-8", "application/json", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
resp.GetBodySb(sbResponseBody)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(resp.Header)
    Log("Failed.")
    Return
End If


'  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



Dim originalStartTimeZone As String = jResp.StringOf("originalStartTimeZone")
Dim originalEndTimeZone As String = jResp.StringOf("originalEndTimeZone")
Dim responseStatusResponse As String = jResp.StringOf("responseStatus.response")
Dim responseStatusTime As String = jResp.StringOf("responseStatus.time")
Dim recurrence As String = jResp.StringOf("recurrence")
Dim iCalUId As String = jResp.StringOf("iCalUId")
Dim reminderMinutesBeforeStart As Int = jResp.IntOf("reminderMinutesBeforeStart")
Dim isOnlineMeeting As Boolean = jResp.BoolOf("isOnlineMeeting")
Dim onlineMeetingProvider As String = jResp.StringOf("onlineMeetingProvider")
Dim isReminderOn As Boolean = jResp.BoolOf("isReminderOn")
Dim onlineMeetingJoinUrl As String = jResp.StringOf("onlineMeeting.joinUrl")
Dim onlineMeetingConferenceId As String = jResp.StringOf("onlineMeeting.conferenceId")
Dim onlineMeetingTollNumber As String = jResp.StringOf("onlineMeeting.tollNumber")