Unicode C++
Unicode C++
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 Unicode C++ Downloads
#include <CkJsonObjectW.h>
void ChilkatSample(void)
{
// 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"
// }
// ]
// }
CkJsonObjectW json;
json.UpdateString(L"kind",L"calendar#event");
json.UpdateString(L"etag",L"some_etag");
json.UpdateString(L"id",L"string value");
json.UpdateString(L"status",L"string value");
json.UpdateString(L"htmlLink",L"string value");
json.UpdateString(L"created",L"datetime value");
json.UpdateString(L"updated",L"datetime value");
json.UpdateString(L"summary",L"string value");
json.UpdateString(L"description",L"string value");
json.UpdateString(L"location",L"string value");
json.UpdateString(L"colorId",L"string value");
json.UpdateString(L"creator.id",L"string value");
json.UpdateString(L"creator.email",L"string value");
json.UpdateString(L"creator.displayName",L"string value");
json.UpdateBool(L"creator.self",true);
json.UpdateString(L"organizer.id",L"string value");
json.UpdateString(L"organizer.email",L"string value");
json.UpdateString(L"organizer.displayName",L"string value");
json.UpdateBool(L"organizer.self",true);
json.UpdateString(L"start.date",L"date value");
json.UpdateString(L"start.dateTime",L"datetime value");
json.UpdateString(L"start.timeZone",L"string value");
json.UpdateString(L"end.date",L"date value");
json.UpdateString(L"end.dateTime",L"datetime value");
json.UpdateString(L"end.timeZone",L"string value");
json.UpdateBool(L"endTimeUnspecified",true);
json.UpdateString(L"recurrence[0]",L"string value");
json.UpdateString(L"recurringEventId",L"string value");
json.UpdateString(L"originalStartTime.date",L"date value");
json.UpdateString(L"originalStartTime.dateTime",L"datetime value");
json.UpdateString(L"originalStartTime.timeZone",L"string value");
json.UpdateString(L"transparency",L"string value");
json.UpdateString(L"visibility",L"string value");
json.UpdateString(L"iCalUID",L"string value");
json.UpdateNumber(L"sequence",L"1234");
json.UpdateString(L"attendees[0].id",L"string value");
json.UpdateString(L"attendees[0].email",L"string value");
json.UpdateString(L"attendees[0].displayName",L"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.put_I(0);
json.UpdateBool(L"attendees[i].organizer",true);
json.UpdateBool(L"attendees[i].self",true);
json.UpdateBool(L"attendees[i].resource",true);
json.UpdateBool(L"attendees[i].optional",true);
json.UpdateString(L"attendees[i].responseStatus",L"string value");
json.UpdateString(L"attendees[i].comment",L"string value");
json.UpdateNumber(L"attendees[i].additionalGuests",L"1234");
json.put_I(1);
json.UpdateString(L"attendees[i].id",L"string value");
json.UpdateString(L"attendees[i].email",L"string value");
json.UpdateString(L"attendees[i].displayName",L"string value");
json.UpdateBool(L"attendees[1].organizer",true);
json.UpdateBool(L"attendees[1].self",true);
json.UpdateBool(L"attendees[1].resource",true);
json.UpdateBool(L"attendees[1].optional",true);
json.UpdateString(L"attendees[1].responseStatus",L"string value");
json.UpdateString(L"attendees[1].comment",L"string value");
json.UpdateNumber(L"attendees[1].additionalGuests",L"1234");
json.UpdateBool(L"attendeesOmitted",true);
json.UpdateString(L"extendedProperties.private.someKey",L"string value");
json.UpdateString(L"extendedProperties.shared.someKey",L"string value");
json.UpdateString(L"hangoutLink",L"string value");
json.UpdateString(L"gadget.type",L"string value");
json.UpdateString(L"gadget.title",L"string value");
json.UpdateString(L"gadget.link",L"string value");
json.UpdateString(L"gadget.iconLink",L"string value");
json.UpdateNumber(L"gadget.width",L"1234");
json.UpdateNumber(L"gadget.height",L"1234");
json.UpdateString(L"gadget.display",L"string value");
json.UpdateString(L"gadget.preferences.someKey",L"string value");
json.UpdateBool(L"anyoneCanAddSelf",true);
json.UpdateBool(L"guestsCanInviteOthers",true);
json.UpdateBool(L"guestsCanModify",true);
json.UpdateBool(L"guestsCanSeeOtherGuests",true);
json.UpdateBool(L"privateCopy",true);
json.UpdateBool(L"locked",true);
json.UpdateBool(L"reminders.useDefault",true);
json.UpdateString(L"reminders.overrides[0].method",L"string value");
json.UpdateNumber(L"reminders.overrides[0].minutes",L"1234");
json.UpdateString(L"source.url",L"string value");
json.UpdateString(L"source.title",L"string value");
json.UpdateString(L"attachments[0].fileUrl",L"string value");
json.UpdateString(L"attachments[0].title",L"string value");
json.UpdateString(L"attachments[0].mimeType",L"string value");
json.UpdateString(L"attachments[0].iconLink",L"string value");
json.UpdateString(L"attachments[0].fileId",L"string value");
json.UpdateString(L"attachments[1].fileUrl",L"string value");
json.UpdateString(L"attachments[1].title",L"string value");
json.UpdateString(L"attachments[1].mimeType",L"string value");
json.UpdateString(L"attachments[1].iconLink",L"string value");
json.UpdateString(L"attachments[1].fileId",L"string value");
json.put_EmitCompact(false);
wprintf(L"%s\n",json.emit());
}