PowerShell
PowerShell
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 PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
# 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 $true or $false.
# 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"
# }
# ]
# }
$json = New-Object Chilkat.JsonObject
$json.UpdateString("kind","calendar#event")
$json.UpdateString("etag","some_etag")
$json.UpdateString("id","string value")
$json.UpdateString("status","string value")
$json.UpdateString("htmlLink","string value")
$json.UpdateString("created","datetime value")
$json.UpdateString("updated","datetime value")
$json.UpdateString("summary","string value")
$json.UpdateString("description","string value")
$json.UpdateString("location","string value")
$json.UpdateString("colorId","string value")
$json.UpdateString("creator.id","string value")
$json.UpdateString("creator.email","string value")
$json.UpdateString("creator.displayName","string value")
$json.UpdateBool("creator.self",$true)
$json.UpdateString("organizer.id","string value")
$json.UpdateString("organizer.email","string value")
$json.UpdateString("organizer.displayName","string value")
$json.UpdateBool("organizer.self",$true)
$json.UpdateString("start.date","date value")
$json.UpdateString("start.dateTime","datetime value")
$json.UpdateString("start.timeZone","string value")
$json.UpdateString("end.date","date value")
$json.UpdateString("end.dateTime","datetime value")
$json.UpdateString("end.timeZone","string value")
$json.UpdateBool("endTimeUnspecified",$true)
$json.UpdateString("recurrence[0]","string value")
$json.UpdateString("recurringEventId","string value")
$json.UpdateString("originalStartTime.date","date value")
$json.UpdateString("originalStartTime.dateTime","datetime value")
$json.UpdateString("originalStartTime.timeZone","string value")
$json.UpdateString("transparency","string value")
$json.UpdateString("visibility","string value")
$json.UpdateString("iCalUID","string value")
$json.UpdateNumber("sequence","1234")
$json.UpdateString("attendees[0].id","string value")
$json.UpdateString("attendees[0].email","string value")
$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..
$json.I = 0
$json.UpdateBool("attendees[i].organizer",$true)
$json.UpdateBool("attendees[i].self",$true)
$json.UpdateBool("attendees[i].resource",$true)
$json.UpdateBool("attendees[i].optional",$true)
$json.UpdateString("attendees[i].responseStatus","string value")
$json.UpdateString("attendees[i].comment","string value")
$json.UpdateNumber("attendees[i].additionalGuests","1234")
$json.I = 1
$json.UpdateString("attendees[i].id","string value")
$json.UpdateString("attendees[i].email","string value")
$json.UpdateString("attendees[i].displayName","string value")
$json.UpdateBool("attendees[1].organizer",$true)
$json.UpdateBool("attendees[1].self",$true)
$json.UpdateBool("attendees[1].resource",$true)
$json.UpdateBool("attendees[1].optional",$true)
$json.UpdateString("attendees[1].responseStatus","string value")
$json.UpdateString("attendees[1].comment","string value")
$json.UpdateNumber("attendees[1].additionalGuests","1234")
$json.UpdateBool("attendeesOmitted",$true)
$json.UpdateString("extendedProperties.private.someKey","string value")
$json.UpdateString("extendedProperties.shared.someKey","string value")
$json.UpdateString("hangoutLink","string value")
$json.UpdateString("gadget.type","string value")
$json.UpdateString("gadget.title","string value")
$json.UpdateString("gadget.link","string value")
$json.UpdateString("gadget.iconLink","string value")
$json.UpdateNumber("gadget.width","1234")
$json.UpdateNumber("gadget.height","1234")
$json.UpdateString("gadget.display","string value")
$json.UpdateString("gadget.preferences.someKey","string value")
$json.UpdateBool("anyoneCanAddSelf",$true)
$json.UpdateBool("guestsCanInviteOthers",$true)
$json.UpdateBool("guestsCanModify",$true)
$json.UpdateBool("guestsCanSeeOtherGuests",$true)
$json.UpdateBool("privateCopy",$true)
$json.UpdateBool("locked",$true)
$json.UpdateBool("reminders.useDefault",$true)
$json.UpdateString("reminders.overrides[0].method","string value")
$json.UpdateNumber("reminders.overrides[0].minutes","1234")
$json.UpdateString("source.url","string value")
$json.UpdateString("source.title","string value")
$json.UpdateString("attachments[0].fileUrl","string value")
$json.UpdateString("attachments[0].title","string value")
$json.UpdateString("attachments[0].mimeType","string value")
$json.UpdateString("attachments[0].iconLink","string value")
$json.UpdateString("attachments[0].fileId","string value")
$json.UpdateString("attachments[1].fileUrl","string value")
$json.UpdateString("attachments[1].title","string value")
$json.UpdateString("attachments[1].mimeType","string value")
$json.UpdateString("attachments[1].iconLink","string value")
$json.UpdateString("attachments[1].fileId","string value")
$json.EmitCompact = $false
$($json.Emit())