Sample code for 30+ languages & platforms
PowerBuilder

Google Calendar -- Generate Event JSON

See more Google Calendar Examples

Demonstrates how to generate the JSON for an event resource. This code can be used as a template for generating JSON to insert new events.

See https://developers.google.com/google-apps/calendar/v3/reference/events#resource for details about the Calender Event Resource JSON.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Json

// This example (below) generates the following JSON:
// Note: Your application code would construct the event JSON using your
// desired subset of members.  For boolean values, you would pass 1 or 0.
// For date or date/time values, you would pass the appropriately formatted date/time string.

// {
//   "kind": "calendar#event",
//   "etag": "some_etag",
//   "id": "string value",
//   "status": "string value",
//   "htmlLink": "string value",
//   "created": "datetime value",
//   "updated": "datetime value",
//   "summary": "string value",
//   "description": "string value",
//   "location": "string value",
//   "colorId": "string value",
//   "creator": {
//     "id": "string value",
//     "email": "string value",
//     "displayName": "string value",
//     "self": true
//   },
//   "organizer": {
//     "id": "string value",
//     "email": "string value",
//     "displayName": "string value",
//     "self": true
//   },
//   "start": {
//     "date": "date value",
//     "dateTime": "datetime value",
//     "timeZone": "string value"
//   },
//   "end": {
//     "date": "date value",
//     "dateTime": "datetime value",
//     "timeZone": "string value"
//   },
//   "endTimeUnspecified": true,
//   "recurrence": [
//     "string value"
//   ],
//   "recurringEventId": "string value",
//   "originalStartTime": {
//     "date": "date value",
//     "dateTime": "datetime value",
//     "timeZone": "string value"
//   },
//   "transparency": "string value",
//   "visibility": "string value",
//   "iCalUID": "string value",
//   "sequence": 1234,
//   "attendees": [
//     {
//       "id": "string value",
//       "email": "string value",
//       "displayName": "string value",
//       "organizer": true,
//       "self": true,
//       "resource": true,
//       "optional": true,
//       "responseStatus": "string value",
//       "comment": "string value",
//       "additionalGuests": 1234
//     },
//     {
//       "id": "string value",
//       "email": "string value",
//       "displayName": "string value",
//       "organizer": true,
//       "self": true,
//       "resource": true,
//       "optional": true,
//       "responseStatus": "string value",
//       "comment": "string value",
//       "additionalGuests": 1234
//     }
//   ],
//   "attendeesOmitted": true,
//   "extendedProperties": {
//     "private": {
//       "someKey": "string value"
//     },
//     "shared": {
//       "someKey": "string value"
//     }
//   },
//   "hangoutLink": "string value",
//   "gadget": {
//     "type": "string value",
//     "title": "string value",
//     "link": "string value",
//     "iconLink": "string value",
//     "width": 1234,
//     "height": 1234,
//     "display": "string value",
//     "preferences": {
//       "someKey": "string value"
//     }
//   },
//   "anyoneCanAddSelf": true,
//   "guestsCanInviteOthers": true,
//   "guestsCanModify": true,
//   "guestsCanSeeOtherGuests": true,
//   "privateCopy": true,
//   "locked": true,
//   "reminders": {
//     "useDefault": true,
//     "overrides": [
//       {
//         "method": "string value",
//         "minutes": 1234
//       }
//     ]
//   },
//   "source": {
//     "url": "string value",
//     "title": "string value"
//   },
//   "attachments": [
//     {
//       "fileUrl": "string value",
//       "title": "string value",
//       "mimeType": "string value",
//       "iconLink": "string value",
//       "fileId": "string value"
//     },
//     {
//       "fileUrl": "string value",
//       "title": "string value",
//       "mimeType": "string value",
//       "iconLink": "string value",
//       "fileId": "string value"
//     }
//   ]
// }

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Json.UpdateString("kind","calendar#event")
loo_Json.UpdateString("etag","some_etag")
loo_Json.UpdateString("id","string value")
loo_Json.UpdateString("status","string value")
loo_Json.UpdateString("htmlLink","string value")
loo_Json.UpdateString("created","datetime value")
loo_Json.UpdateString("updated","datetime value")
loo_Json.UpdateString("summary","string value")
loo_Json.UpdateString("description","string value")
loo_Json.UpdateString("location","string value")
loo_Json.UpdateString("colorId","string value")
loo_Json.UpdateString("creator.id","string value")
loo_Json.UpdateString("creator.email","string value")
loo_Json.UpdateString("creator.displayName","string value")
loo_Json.UpdateBool("creator.self",1)
loo_Json.UpdateString("organizer.id","string value")
loo_Json.UpdateString("organizer.email","string value")
loo_Json.UpdateString("organizer.displayName","string value")
loo_Json.UpdateBool("organizer.self",1)
loo_Json.UpdateString("start.date","date value")
loo_Json.UpdateString("start.dateTime","datetime value")
loo_Json.UpdateString("start.timeZone","string value")
loo_Json.UpdateString("end.date","date value")
loo_Json.UpdateString("end.dateTime","datetime value")
loo_Json.UpdateString("end.timeZone","string value")
loo_Json.UpdateBool("endTimeUnspecified",1)
loo_Json.UpdateString("recurrence[0]","string value")
loo_Json.UpdateString("recurringEventId","string value")
loo_Json.UpdateString("originalStartTime.date","date value")
loo_Json.UpdateString("originalStartTime.dateTime","datetime value")
loo_Json.UpdateString("originalStartTime.timeZone","string value")
loo_Json.UpdateString("transparency","string value")
loo_Json.UpdateString("visibility","string value")
loo_Json.UpdateString("iCalUID","string value")
loo_Json.UpdateNumber("sequence","1234")

loo_Json.UpdateString("attendees[0].id","string value")
loo_Json.UpdateString("attendees[0].email","string value")
loo_Json.UpdateString("attendees[0].displayName","string value")

// Note: We could alternately specify an index using "i", which allows
// for an application to construct using a loop with a variable..
loo_Json.I = 0
loo_Json.UpdateBool("attendees[i].organizer",1)
loo_Json.UpdateBool("attendees[i].self",1)
loo_Json.UpdateBool("attendees[i].resource",1)
loo_Json.UpdateBool("attendees[i].optional",1)
loo_Json.UpdateString("attendees[i].responseStatus","string value")
loo_Json.UpdateString("attendees[i].comment","string value")
loo_Json.UpdateNumber("attendees[i].additionalGuests","1234")

loo_Json.I = 1
loo_Json.UpdateString("attendees[i].id","string value")
loo_Json.UpdateString("attendees[i].email","string value")
loo_Json.UpdateString("attendees[i].displayName","string value")

loo_Json.UpdateBool("attendees[1].organizer",1)
loo_Json.UpdateBool("attendees[1].self",1)
loo_Json.UpdateBool("attendees[1].resource",1)
loo_Json.UpdateBool("attendees[1].optional",1)
loo_Json.UpdateString("attendees[1].responseStatus","string value")
loo_Json.UpdateString("attendees[1].comment","string value")
loo_Json.UpdateNumber("attendees[1].additionalGuests","1234")

loo_Json.UpdateBool("attendeesOmitted",1)
loo_Json.UpdateString("extendedProperties.private.someKey","string value")
loo_Json.UpdateString("extendedProperties.shared.someKey","string value")
loo_Json.UpdateString("hangoutLink","string value")
loo_Json.UpdateString("gadget.type","string value")
loo_Json.UpdateString("gadget.title","string value")
loo_Json.UpdateString("gadget.link","string value")
loo_Json.UpdateString("gadget.iconLink","string value")
loo_Json.UpdateNumber("gadget.width","1234")
loo_Json.UpdateNumber("gadget.height","1234")
loo_Json.UpdateString("gadget.display","string value")
loo_Json.UpdateString("gadget.preferences.someKey","string value")
loo_Json.UpdateBool("anyoneCanAddSelf",1)
loo_Json.UpdateBool("guestsCanInviteOthers",1)
loo_Json.UpdateBool("guestsCanModify",1)
loo_Json.UpdateBool("guestsCanSeeOtherGuests",1)
loo_Json.UpdateBool("privateCopy",1)
loo_Json.UpdateBool("locked",1)
loo_Json.UpdateBool("reminders.useDefault",1)
loo_Json.UpdateString("reminders.overrides[0].method","string value")
loo_Json.UpdateNumber("reminders.overrides[0].minutes","1234")
loo_Json.UpdateString("source.url","string value")
loo_Json.UpdateString("source.title","string value")
loo_Json.UpdateString("attachments[0].fileUrl","string value")
loo_Json.UpdateString("attachments[0].title","string value")
loo_Json.UpdateString("attachments[0].mimeType","string value")
loo_Json.UpdateString("attachments[0].iconLink","string value")
loo_Json.UpdateString("attachments[0].fileId","string value")
loo_Json.UpdateString("attachments[1].fileUrl","string value")
loo_Json.UpdateString("attachments[1].title","string value")
loo_Json.UpdateString("attachments[1].mimeType","string value")
loo_Json.UpdateString("attachments[1].iconLink","string value")
loo_Json.UpdateString("attachments[1].fileId","string value")

loo_Json.EmitCompact = 0
Write-Debug loo_Json.Emit()


destroy loo_Json