Updates an event. (This example modifies the start/end date/time for the event id 52e7uk7j7vl5dosj7b25memov0 in the calendar with id = "support@chilkatcloud.com".)
Use ChilkatAx-9.5.0-win32.pkg
Procedure Test
Handle hoRest
Boolean iSuccess
Variant vOauth2
Handle hoOauth2
Req Handle hoJsonReq
Variant vSbReq
Handle hoSbReq
Variant vSbJson
Handle hoSbJson
Handle hoJson
String sKind
String sEtag
String sId
String sStatus
String sHtmlLink
String sCreated
String sUpdated
String sSummary
String sCreatorEmail
Boolean iCreatorSelf
String sOrganizerEmail
Boolean iOrganizerSelf
String sStartDateTime
String sEndDateTime
String sICalUID
Integer iSequence
String sHangoutLink
Boolean iRemindersUseDefault
String sTemp1
Integer iTemp1
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
// Provide a previously obtained OAuth2 access token.
Get Create (RefClass(cComChilkatOAuth2)) To hoOauth2
If (Not(IsComObjectCreated(hoOauth2))) Begin
Send CreateComObject of hoOauth2
End
Set ComAccessToken Of hoOauth2 To "OAUTH2_ACCESS_TOKEN"
Get pvComObject of hoOauth2 to vOauth2
Get ComSetAuthOAuth2 Of hoRest vOauth2 To iSuccess
Get ComConnect Of hoRest "www.googleapis.com" 443 True True To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonReq
If (Not(IsComObjectCreated(hoJsonReq))) Begin
Send CreateComObject of hoJsonReq
End
Get ComUpdateString Of hoJsonReq "start.dateTime" "2017-11-27T10:30:00-06:00" To iSuccess
Get ComUpdateString Of hoJsonReq "end.dateTime" "2017-11-27T11:30:00-06:00" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbReq
If (Not(IsComObjectCreated(hoSbReq))) Begin
Send CreateComObject of hoSbReq
End
Get pvComObject of hoSbReq to vSbReq
Get ComEmitSb Of hoJsonReq vSbReq To iSuccess
Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
If (Not(IsComObjectCreated(hoSbJson))) Begin
Send CreateComObject of hoSbJson
End
Get pvComObject of hoSbReq to vSbReq
Get pvComObject of hoSbJson to vSbJson
Get ComFullRequestSb Of hoRest "PATCH" "/calendar/v3/calendars/support@chilkatcloud.com/events/52e7uk7j7vl5dosj7b25memov0" vSbReq vSbJson To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComResponseStatusCode Of hoRest To iTemp1
If (iTemp1 <> 200) Begin
Get ComResponseStatusCode Of hoRest To iTemp1
Showln "Received error response code: " iTemp1
Showln "Response body:"
Get ComGetAsString Of hoSbJson To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get pvComObject of hoSbJson to vSbJson
Get ComLoadSb Of hoJson vSbJson To iSuccess
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
Get ComStringOf Of hoJson "kind" To sKind
Get ComStringOf Of hoJson "etag" To sEtag
Get ComStringOf Of hoJson "id" To sId
Get ComStringOf Of hoJson "status" To sStatus
Get ComStringOf Of hoJson "htmlLink" To sHtmlLink
Get ComStringOf Of hoJson "created" To sCreated
Get ComStringOf Of hoJson "updated" To sUpdated
Get ComStringOf Of hoJson "summary" To sSummary
Get ComStringOf Of hoJson "creator.email" To sCreatorEmail
Get ComBoolOf Of hoJson "creator.self" To iCreatorSelf
Get ComStringOf Of hoJson "organizer.email" To sOrganizerEmail
Get ComBoolOf Of hoJson "organizer.self" To iOrganizerSelf
Get ComStringOf Of hoJson "start.dateTime" To sStartDateTime
Get ComStringOf Of hoJson "end.dateTime" To sEndDateTime
Get ComStringOf Of hoJson "iCalUID" To sICalUID
Get ComIntOf Of hoJson "sequence" To iSequence
Get ComStringOf Of hoJson "hangoutLink" To sHangoutLink
Get ComBoolOf Of hoJson "reminders.useDefault" To iRemindersUseDefault
Showln "Example Completed."
End_Procedure
{
"start": {
"dateTime": "2017-11-27T10:30:00-06:00"
},
"end": {
"dateTime": "2017-11-27T11:30:00-06:00"
}
}
{
"kind": "calendar#event",
"etag": "\"3020353646374000\"",
"id": "52e7uk7j7vl5dosj7b25memov0",
"status": "confirmed",
"htmlLink": "https://www.google.com/calendar/event?eid=NTJlN3VrN2o3dmw1ZG9zajdiMjVtZW1vdjAgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t",
"created": "2017-11-08T21:27:50.000Z",
"updated": "2017-11-08T21:33:43.187Z",
"summary": "Dentist Appointment",
"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
}
}