Inserts a new event to a specified calendar.
This example inserts an event into the calender specified by ID = "support@chilkatcloud.com"
Returns the JSON of the event that was created.
Dim rest As New ChilkatRest
Dim success As Long
' Provide a previously obtained OAuth2 access token.
Dim oauth2 As New ChilkatOAuth2
oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
success = rest.SetAuthOAuth2(oauth2)
success = rest.Connect("www.googleapis.com",443,1,1)
If (success <> 1) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
' The following code creates the JSON request body.
' The JSON created by this code is shown below.
Dim jsonReq As New ChilkatJsonObject
success = jsonReq.UpdateString("kind","calendar#event")
success = jsonReq.UpdateString("status","confirmed")
success = jsonReq.UpdateString("summary","QXQC")
success = jsonReq.UpdateString("description","21st Annual QXQC Gathering")
success = jsonReq.UpdateString("location","Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA")
success = jsonReq.UpdateString("start.dateTime","2017-12-09T20:00:00-06:00")
success = jsonReq.UpdateString("end.dateTime","2017-12-09T23:00:00-06:00")
success = jsonReq.UpdateString("attendees[0].email","dean@example.com")
success = jsonReq.UpdateString("attendees[0].responseStatus","needsAction")
success = jsonReq.UpdateString("attendees[1].email","support@chilkatcloud.com")
success = jsonReq.UpdateBool("attendees[1].organizer",1)
success = jsonReq.UpdateBool("attendees[1].self",1)
success = jsonReq.UpdateString("attendees[1].responseStatus","accepted")
success = jsonReq.UpdateString("attendees[2].email","ajay@example.com")
success = jsonReq.UpdateString("attendees[2].responseStatus","needsAction")
success = jsonReq.UpdateString("attendees[3].email","jim@example.com")
success = jsonReq.UpdateString("attendees[3].responseStatus","needsAction")
success = jsonReq.UpdateString("attendees[4].email","gilian@example.com")
success = jsonReq.UpdateString("attendees[4].responseStatus","needsAction")
success = jsonReq.UpdateBool("reminders.useDefault",1)
Dim sbReq As New ChilkatStringBuilder
success = jsonReq.EmitSb(sbReq)
success = rest.AddHeader("Content-Type","application/json")
Dim sbJson As New ChilkatStringBuilder
success = rest.FullRequestSb("POST","/calendar/v3/calendars/support@chilkatcloud.com/events",sbReq,sbJson)
If (success <> 1) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
If (rest.ResponseStatusCode <> 200) Then
Debug.Print "Received error response code: " & rest.ResponseStatusCode
Debug.Print "Response body:"
Debug.Print sbJson.GetAsString()
Exit Sub
End If
Dim json As New ChilkatJsonObject
success = json.LoadSb(sbJson)
' The following code parses the JSON response.
' A sample JSON response is shown below the sample code.
Dim kind As String
Dim etag As String
Dim id As String
Dim status As String
Dim htmlLink As String
Dim created As String
Dim updated As String
Dim summary As String
Dim description As String
Dim location As String
Dim creatorEmail As String
Dim creatorSelf As Long
Dim organizerEmail As String
Dim organizerSelf As Long
Dim startDateTime As String
Dim endDateTime As String
Dim iCalUID As String
Dim sequence As Long
Dim hangoutLink As String
Dim remindersUseDefault As Long
Dim i As Long
Dim count_i As Long
Dim email As String
Dim responseStatus As String
Dim organizer As Long
Dim self As Long
kind = json.StringOf("kind")
etag = json.StringOf("etag")
id = json.StringOf("id")
status = json.StringOf("status")
htmlLink = json.StringOf("htmlLink")
created = json.StringOf("created")
updated = json.StringOf("updated")
summary = json.StringOf("summary")
description = json.StringOf("description")
location = json.StringOf("location")
creatorEmail = json.StringOf("creator.email")
creatorSelf = json.BoolOf("creator.self")
organizerEmail = json.StringOf("organizer.email")
organizerSelf = json.BoolOf("organizer.self")
startDateTime = json.StringOf("start.dateTime")
endDateTime = json.StringOf("end.dateTime")
iCalUID = json.StringOf("iCalUID")
sequence = json.IntOf("sequence")
hangoutLink = json.StringOf("hangoutLink")
remindersUseDefault = json.BoolOf("reminders.useDefault")
i = 0
count_i = json.SizeOfArray("attendees")
Do While i < count_i
json.I = i
email = json.StringOf("attendees[i].email")
responseStatus = json.StringOf("attendees[i].responseStatus")
organizer = json.BoolOf("attendees[i].organizer")
self = json.BoolOf("attendees[i].self")
i = i + 1
Loop
Debug.Print "Example Completed."
{
"kind": "calendar#event",
"status": "confirmed",
"summary": "QXQC",
"description": "21st Annual QXQC Gathering",
"location": "Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA",
"start": {
"dateTime": "2017-12-09T20:00:00-06:00"
},
"end": {
"dateTime": "2017-12-09T23:00:00-06:00"
},
"attendees": [
{
"email": "dean@example.com",
"responseStatus": "needsAction"
},
{
"email": "support@chilkatcloud.com",
"organizer": true,
"self": true,
"responseStatus": "accepted"
},
{
"email": "ajay@example.com",
"responseStatus": "needsAction"
},
{
"email": "jim@example.com",
"responseStatus": "needsAction"
},
{
"email": "gilian@example.com",
"responseStatus": "needsAction"
}
],
"reminders": {
"useDefault": true
}
}
{
"kind": "calendar#event",
"etag": "\"3020332888490000\"",
"id": "oqel9ijr6rgfgqg12b0qtlhfjs",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=b3FlbDlpanI2cmdmZ3FnMTJiMHF0bGhmanMgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t",
"created": "2017-11-08T18:40:44.000Z",
"updated": "2017-11-08T18:40:44.245Z",
"summary": "QXQC",
"description": "21st Annual QXQC Gathering",
"location": "Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA",
"creator": {
"email": "support@chilkatcloud.com",
"self": true
},
"organizer": {
"email": "support@chilkatcloud.com",
"self": true
},
"start": {
"dateTime": "2017-12-09T20:00:00-06:00"
},
"end": {
"dateTime": "2017-12-09T23:00:00-06:00"
},
"iCalUID": "oqel9ijr6rgfgqg12b0qtlhfjs@google.com",
"sequence": 0,
"attendees": [
{
"email": "dean@example.com",
"responseStatus": "needsAction"
},
{
"email": "support@chilkatcloud.com",
"organizer": true,
"self": true,
"responseStatus": "accepted"
},
{
"email": "ajay@example.com",
"responseStatus": "needsAction"
},
{
"email": "jim@example.com",
"responseStatus": "needsAction"
},
{
"email": "gilian@example.com",
"responseStatus": "needsAction"
}
],
"hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/qxqc?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.oqel9ijr6rgfgqg12b0qtlhfjs",
"reminders": {
"useDefault": true
}
}