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
(Perl) List Google CalendarsSee more Google Calendar ExamplesDemonstrates how to list the Google Calendars for an account.
use chilkat(); # 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.. $jsonToken = chilkat::CkJsonObject->new(); $success = $jsonToken->LoadFile("qa_data/tokens/googleCalendar.json"); if ($jsonToken->HasMember("access_token") == 0) { print "No access token found." . "\r\n"; exit; } $http = chilkat::CkHttp->new(); $http->put_AuthToken($jsonToken->stringOf("access_token")); $jsonResponse = $http->quickGetStr("https://www.googleapis.com/calendar/v3/users/me/calendarList"); if ($http->get_LastMethodSuccess() != 1) { print $http->lastErrorText() . "\r\n"; exit; } print $jsonResponse . "\r\n"; print "-----------------------------" . "\r\n"; # This is a sample JSON response: # (Sample code to iterate over the JSON response is shown below.) # { # "kind": "calendar#calendarList", # "etag": "\"p32cfpufit76da0g\"", # "nextSyncToken": "CJj8-fLpzNUCEhhzdXBwb3J0QGNoaWxrYXRjbG91ZC5jb20=", # "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": [] # } # ] # } # # Iterate over the JSON response.. $json = chilkat::CkJsonObject->new(); $json->Load($jsonResponse); $numCalendars = $json->SizeOfArray("items"); $i = 0; while ($i < $numCalendars) { print "--- " . $i . " ---" . "\r\n"; $json->put_I($i); print "kind: " . $json->stringOf("items[i].kind") . "\r\n"; print "id: " . $json->stringOf("items[i].id") . "\r\n"; # Examine the notification settings, if any.. $numSettings = $json->SizeOfArray("items[i].notificationSettings.notifications"); if ($numSettings > 0) { $j = 0; while ($j < $numSettings) { $json->put_J($j); print "Notification Type: " . $json->stringOf("items[i].notificationSettings.notifications[j].type") . "\r\n"; print "Notification Method: " . $json->stringOf("items[i].notificationSettings.notifications[j].method") . "\r\n"; $j = $j + 1; } } $i = $i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.