Returns entries on the user's calendar list.
var
rest: TChilkatRest;
success: Integer;
oauth2: TChilkatOAuth2;
sbJson: TChilkatStringBuilder;
json: TChilkatJsonObject;
kind: WideString;
etag: WideString;
nextSyncToken: WideString;
i: Integer;
count_i: Integer;
id: WideString;
summary: WideString;
timeZone: WideString;
colorId: WideString;
backgroundColor: WideString;
foregroundColor: WideString;
selected: Integer;
accessRole: WideString;
primary: Integer;
j: Integer;
count_j: Integer;
method: WideString;
minutes: Integer;
type: WideString;
begin
rest := TChilkatRest.Create(Self);
// Provide a previously obtained OAuth2 access token.
oauth2 := TChilkatOAuth2.Create(Self);
oauth2.AccessToken := 'OAUTH2_ACCESS_TOKEN';
rest.SetAuthOAuth2(oauth2.ControlInterface);
success := rest.Connect('www.googleapis.com',443,1,1);
if (success <> 1) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
sbJson := TChilkatStringBuilder.Create(Self);
success := rest.FullRequestNoBodySb('GET','/calendar/v3/users/me/calendarList',sbJson.ControlInterface);
if (success <> 1) then
begin
Memo1.Lines.Add(rest.LastErrorText);
Exit;
end;
if (rest.ResponseStatusCode <> 200) then
begin
Memo1.Lines.Add('Received error response code: ' + IntToStr(rest.ResponseStatusCode));
Memo1.Lines.Add('Response body:');
Memo1.Lines.Add(sbJson.GetAsString());
Exit;
end;
json := TChilkatJsonObject.Create(Self);
json.LoadSb(sbJson.ControlInterface);
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
kind := json.StringOf('kind');
etag := json.StringOf('etag');
nextSyncToken := json.StringOf('nextSyncToken');
i := 0;
count_i := json.SizeOfArray('items');
while i < count_i do
begin
json.I := i;
kind := json.StringOf('items[i].kind');
etag := json.StringOf('items[i].etag');
id := json.StringOf('items[i].id');
summary := json.StringOf('items[i].summary');
timeZone := json.StringOf('items[i].timeZone');
colorId := json.StringOf('items[i].colorId');
backgroundColor := json.StringOf('items[i].backgroundColor');
foregroundColor := json.StringOf('items[i].foregroundColor');
selected := json.BoolOf('items[i].selected');
accessRole := json.StringOf('items[i].accessRole');
primary := json.BoolOf('items[i].primary');
j := 0;
count_j := json.SizeOfArray('items[i].defaultReminders');
while j < count_j do
begin
json.J := j;
method := json.StringOf('items[i].defaultReminders[j].method');
minutes := json.IntOf('items[i].defaultReminders[j].minutes');
j := j + 1;
end;
j := 0;
count_j := json.SizeOfArray('items[i].notificationSettings.notifications');
while j < count_j do
begin
json.J := j;
type := json.StringOf('items[i].notificationSettings.notifications[j].type');
method := json.StringOf('items[i].notificationSettings.notifications[j].method');
j := j + 1;
end;
i := i + 1;
end;
Memo1.Lines.Add('Example Completed.');
{
"kind": "calendar#calendarList",
"etag": "\"p33gdfl6bualde0g\"",
"nextSyncToken": "CODX1MvyqtcCEhhzdXBwb3J0QGNoaWxrYXRjbG91ZC5jb20=",
"items": [
{
"kind": "calendar#calendarListEntry",
"etag": "\"1465249947472000\"",
"id": "support@chilkatcloud.com",
"summary": "support@chilkatcloud.com",
"timeZone": "America/Chicago",
"colorId": "14",
"backgroundColor": "#9fe1e7",
"foregroundColor": "#000000",
"selected": true,
"accessRole": "owner",
"defaultReminders": [
{
"method": "popup",
"minutes": 10
}
],
"notificationSettings": {
"notifications": [
{
"type": "eventCreation",
"method": "email"
},
{
"type": "eventChange",
"method": "email"
},
{
"type": "eventCancellation",
"method": "email"
},
{
"type": "eventResponse",
"method": "email"
}
]
},
"primary": true
},
{
"kind": "calendar#calendarListEntry",
"etag": "\"1502373382732000\"",
"id": "#contacts@group.v.calendar.google.com",
"summary": "Contacts",
"timeZone": "America/Chicago",
"colorId": "13",
"backgroundColor": "#92e1c0",
"foregroundColor": "#000000",
"selected": true,
"accessRole": "reader",
"defaultReminders": []
},
{
"kind": "calendar#calendarListEntry",
"etag": "\"1502373376447000\"",
"id": "en.usa#holiday@group.v.calendar.google.com",
"summary": "Holidays in United States",
"timeZone": "America/Chicago",
"colorId": "8",
"backgroundColor": "#16a765",
"foregroundColor": "#000000",
"selected": true,
"accessRole": "reader",
"defaultReminders": []
}
]
}