Changes the color of a particular event. The calendar and event are specified by ID. This example changes the color for an event (id = 52e7uk7j7vl5dosj7b25memov0) on the calendar (id = support@chilkatcloud.com).
This changes the event to colorId = "6" which seems to be an orange-ish color..
LOCAL loRest
LOCAL lnSuccess
LOCAL loOauth2
LOCAL loJsonReq
LOCAL loSbReq
LOCAL loSbJson
LOCAL loJson
LOCAL lcKind
LOCAL lcEtag
LOCAL lcId
LOCAL lcStatus
LOCAL lcHtmlLink
LOCAL lcCreated
LOCAL lcUpdated
LOCAL lcSummary
LOCAL lcColorId
LOCAL lcCreatorEmail
LOCAL lnCreatorSelf
LOCAL lcOrganizerEmail
LOCAL lnOrganizerSelf
LOCAL lcStartDateTime
LOCAL lcEndDateTime
LOCAL lcICalUID
LOCAL lnSequence
LOCAL lcHangoutLink
LOCAL lnRemindersUseDefault
loRest = CreateObject('Chilkat_9_5_0.Rest')
* Provide a previously obtained OAuth2 access token.
loOauth2 = CreateObject('Chilkat_9_5_0.OAuth2')
loOauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
loRest.SetAuthOAuth2(loOauth2)
lnSuccess = loRest.Connect("www.googleapis.com",443,1,1)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loOauth2
CANCEL
ENDIF
* The following code creates the JSON request body.
* The JSON created by this code is shown below.
loJsonReq = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonReq.UpdateString("colorId","6")
loSbReq = CreateObject('Chilkat_9_5_0.StringBuilder')
loJsonReq.EmitSb(loSbReq)
loRest.AddHeader("Content-Type","application/json")
loSbJson = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("PATCH","/calendar/v3/calendars/support@chilkatcloud.com/events/52e7uk7j7vl5dosj7b25memov0",loSbReq,loSbJson)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loOauth2
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
CANCEL
ENDIF
IF (loRest.ResponseStatusCode <> 200) THEN
? "Received error response code: " + STR(loRest.ResponseStatusCode)
? "Response body:"
? loSbJson.GetAsString()
RELEASE loRest
RELEASE loOauth2
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
CANCEL
ENDIF
loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.LoadSb(loSbJson)
* The following code parses the JSON response.
* A sample JSON response is shown below the sample code.
lcKind = loJson.StringOf("kind")
lcEtag = loJson.StringOf("etag")
lcId = loJson.StringOf("id")
lcStatus = loJson.StringOf("status")
lcHtmlLink = loJson.StringOf("htmlLink")
lcCreated = loJson.StringOf("created")
lcUpdated = loJson.StringOf("updated")
lcSummary = loJson.StringOf("summary")
lcColorId = loJson.StringOf("colorId")
lcCreatorEmail = loJson.StringOf("creator.email")
lnCreatorSelf = loJson.BoolOf("creator.self")
lcOrganizerEmail = loJson.StringOf("organizer.email")
lnOrganizerSelf = loJson.BoolOf("organizer.self")
lcStartDateTime = loJson.StringOf("start.dateTime")
lcEndDateTime = loJson.StringOf("end.dateTime")
lcICalUID = loJson.StringOf("iCalUID")
lnSequence = loJson.IntOf("sequence")
lcHangoutLink = loJson.StringOf("hangoutLink")
lnRemindersUseDefault = loJson.BoolOf("reminders.useDefault")
? "Example Completed."
RELEASE loRest
RELEASE loOauth2
RELEASE loJsonReq
RELEASE loSbReq
RELEASE loSbJson
RELEASE loJson
{
"colorId": "6"
}
{
"kind": "calendar#event",
"etag": "\"3021538600038000\"",
"id": "52e7uk7j7vl5dosj7b25memov0",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=NTJlN3VrN2o3dmw1ZG9zajdiMjVtZW1vdjAgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t",
"created": "2017-11-08T21:27:50.000Z",
"updated": "2017-11-15T18:08:20.019Z",
"summary": "Dentist Appointment",
"colorId": "6",
"creator": {
"email": "support@chilkatcloud.com",
"self": true
},
"organizer": {
"email": "support@chilkatcloud.com",
"self": true
},
"start": {
"dateTime": "2017-11-27T10:30:00-06:00"
},
"end": {
"dateTime": "2017-11-27T11:30:00-06:00"
},
"iCalUID": "52e7uk7j7vl5dosj7b25memov0@google.com",
"sequence": 1,
"hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/support?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.52e7uk7j7vl5dosj7b25memov0",
"reminders": {
"useDefault": true
}
}