Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) List Events on a Specified Google CalendarSee more Google Calendar ExamplesDemonstrates how to fetch the list of events on a particular Google Calendar. The calendar can be referenced by the calendar ID, or by the keyword "primary".
LOCAL loJsonToken LOCAL lnSuccess LOCAL loHttp LOCAL loSbResponse LOCAL loJson LOCAL lnNumEvents LOCAL i * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * This example uses a previously obtained access token having permission for the * Google Calendar scope. * In this example, Get Google Calendar OAuth2 Access Token, the access * token was saved to a JSON file. This example fetches the access token from the file.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJsonToken = CreateObject('Chilkat.JsonObject') lnSuccess = loJsonToken.LoadFile("qa_data/tokens/googleCalendar.json") IF (loJsonToken.HasMember("access_token") = 0) THEN ? "No access token found." RELEASE loJsonToken CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') loHttp.AuthToken = loJsonToken.StringOf("access_token") * Let's get the primary calendar. A calendar ID could have be used instead of "primary". loHttp.SetUrlVar("calendarId","primary") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbResponse = CreateObject('Chilkat.StringBuilder') lnSuccess = loHttp.QuickGetSb("https://www.googleapis.com/calendar/v3/calendars/{$calendarId}/events",loSbResponse) IF (lnSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loJsonToken RELEASE loHttp RELEASE loSbResponse CANCEL ENDIF IF (loHttp.LastStatus <> 200) THEN * Note: If a 401 unauthorized response is received, it likely means that the OAuth2 access token needs * to be refreshed or re-fetched. ? "Error response status: " + STR(loHttp.LastStatus) ? loSbResponse.GetAsString() RELEASE loJsonToken RELEASE loHttp RELEASE loSbResponse CANCEL ENDIF * A sample JSON response: * (Code for parsing the Google Calendar events is shown below.) * { * "kind": "calendar#events", * "etag": "\"p32cfpufit76da0g\"", * "summary": "support@chilkatcloud.com", * "updated": "2017-08-10T14:00:27.199Z", * "timeZone": "America/Chicago", * "accessRole": "owner", * "defaultReminders": [ * { * "method": "popup", * "minutes": 10 * } * ], * "nextSyncToken": "CJj8-fLpzNUCEJj8-fLpzNUCGAU=", * "items": [ * { * "kind": "calendar#event", * "etag": "\"3004746854620000\"", * "id": "5jt9fopfg3rr9eftegiuq7gc5k", * "status": "confirmed", * "htmlLink": "https://www.google.com/calendar/event?eid=NWp0OWZvcGZnM3JyOWVmdGVnaXVxN2djNWsgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t", * "created": "2017-08-10T13:57:07.000Z", * "updated": "2017-08-10T13:57:07.310Z", * "summary": "Run 10 miles", * "creator": { * "email": "support@chilkatcloud.com", * "self": true * }, * "organizer": { * "email": "support@chilkatcloud.com", * "self": true * }, * "start": { * "dateTime": "2017-08-10T12:00:00-05:00" * }, * "end": { * "dateTime": "2017-08-10T13:00:00-05:00" * }, * "iCalUID": "5jt9fopfg3rr9eftegiuq7gc5k@google.com", * "sequence": 0, * "hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/support?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.5jt9fopfg3rr9eftegiuq7gc5k", * "reminders": { * "useDefault": true * } * }, * { * "kind": "calendar#event", * "etag": "\"3004746898118000\"", * "id": "7dvh49vd219r3sq7jdueieu8rc", * "status": "confirmed", * "htmlLink": "https://www.google.com/calendar/event?eid=N2R2aDQ5dmQyMTlyM3NxN2pkdWVpZXU4cmMgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t", * "created": "2017-08-10T13:57:29.000Z", * "updated": "2017-08-10T13:57:29.059Z", * "summary": "Eat Giordano's Pizza", * "creator": { * "email": "support@chilkatcloud.com", * "self": true * }, * "organizer": { * "email": "support@chilkatcloud.com", * "self": true * }, * "start": { * "dateTime": "2017-08-10T15:00:00-05:00" * }, * "end": { * "dateTime": "2017-08-10T16:00:00-05:00" * }, * "iCalUID": "7dvh49vd219r3sq7jdueieu8rc@google.com", * "sequence": 0, * "hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/support?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.7dvh49vd219r3sq7jdueieu8rc", * "reminders": { * "useDefault": true * } * }, * { * "kind": "calendar#event", * "etag": "\"3004746915224000\"", * "id": "5btd89ljn07bg3tlgpimcaqrro", * "status": "confirmed", * "htmlLink": "https://www.google.com/calendar/event?eid=NWJ0ZDg5bGpuMDdiZzN0bGdwaW1jYXFycm8gc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t", * "created": "2017-08-10T13:57:37.000Z", * "updated": "2017-08-10T13:57:37.612Z", * "summary": "Nap", * "creator": { * "email": "support@chilkatcloud.com", * "self": true * }, * "organizer": { * "email": "support@chilkatcloud.com", * "self": true * }, * "start": { * "dateTime": "2017-08-10T16:30:00-05:00" * }, * "end": { * "dateTime": "2017-08-10T17:30:00-05:00" * }, * "iCalUID": "5btd89ljn07bg3tlgpimcaqrro@google.com", * "sequence": 0, * "hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/support?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.5btd89ljn07bg3tlgpimcaqrro", * "reminders": { * "useDefault": true * } * } * ] * } * * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.LoadSb(loSbResponse) lnNumEvents = loJson.SizeOfArray("items") i = 0 DO WHILE i < lnNumEvents loJson.I = i ? loJson.StringOf("items[i].summary") ? loJson.StringOf("items[i].start.dateTime") ? loJson.StringOf("items[i].end.dateTime") ? "--" i = i + 1 ENDDO * Sample output: * Run 10 miles * 2017-08-10T12:00:00-05:00 * 2017-08-10T13:00:00-05:00 * -- * Eat Giordano's Pizza * 2017-08-10T15:00:00-05:00 * 2017-08-10T16:00:00-05:00 * -- * Nap * 2017-08-10T16:30:00-05:00 * 2017-08-10T17:30:00-05:00 * -- * RELEASE loJsonToken RELEASE loHttp RELEASE loSbResponse RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.