Creates an event based on a simple text string. (This example adds an event to the calendar with id = "support@chilkatcloud.com".)
LOCAL loRest
LOCAL lnSuccess
LOCAL loOauth2
LOCAL loSbReq
LOCAL loSbJson
LOCAL loJson
LOCAL lcKind
LOCAL lcEtag
LOCAL lcId
LOCAL lcStatus
LOCAL lcHtmlLink
LOCAL lcCreated
LOCAL lcUpdated
LOCAL lcSummary
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
loRest.AddQueryParam("text","Dentist Appointment")
loRest.AddQueryParam("sendNotifications","true")
loSbReq = CreateObject('Chilkat_9_5_0.StringBuilder')
loSbJson = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/calendar/v3/calendars/support@chilkatcloud.com/events/quickAdd",loSbReq,loSbJson)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loOauth2
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 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")
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 loSbReq
RELEASE loSbJson
RELEASE loJson
{
"kind": "calendar#event",
"etag": "\"3020352941868000\"",
"id": "52e7uk7j7vl5dosj7b25memov0",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=NTJlN3VrN2o3dmw1ZG9zajdiMjVtZW1vdjAgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t",
"created": "2017-11-08T21:27:50.000Z",
"updated": "2017-11-08T21:27:50.934Z",
"summary": "Dentist Appointment",
"creator": {
"email": "support@chilkatcloud.com",
"self": true
},
"organizer": {
"email": "support@chilkatcloud.com",
"self": true
},
"start": {
"dateTime": "2017-11-08T15:27:50-06:00"
},
"end": {
"dateTime": "2017-11-08T16:27:50-06:00"
},
"iCalUID": "52e7uk7j7vl5dosj7b25memov0@google.com",
"sequence": 0,
"hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/support?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.52e7uk7j7vl5dosj7b25memov0",
"reminders": {
"useDefault": true
}
}