VBScript
VBScript
List Google Calendars
See more Google Calendar Examples
Demonstrates how to list the Google Calendars for an account.Chilkat VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' 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..
set jsonToken = CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/googleCalendar.json")
If (jsonToken.HasMember("access_token") = 0) Then
outFile.WriteLine("No access token found.")
WScript.Quit
End If
set http = CreateObject("Chilkat.Http")
http.AuthToken = jsonToken.StringOf("access_token")
jsonResponse = http.QuickGetStr("https://www.googleapis.com/calendar/v3/users/me/calendarList")
If (http.LastMethodSuccess <> 1) Then
outFile.WriteLine(http.LastErrorText)
WScript.Quit
End If
outFile.WriteLine(jsonResponse)
outFile.WriteLine("-----------------------------")
' 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..
set json = CreateObject("Chilkat.JsonObject")
success = json.Load(jsonResponse)
numCalendars = json.SizeOfArray("items")
i = 0
Do While i < numCalendars
outFile.WriteLine("--- " & i & " ---")
json.I = i
outFile.WriteLine("kind: " & json.StringOf("items[i].kind"))
outFile.WriteLine("id: " & json.StringOf("items[i].id"))
' Examine the notification settings, if any..
numSettings = json.SizeOfArray("items[i].notificationSettings.notifications")
If (numSettings > 0) Then
j = 0
Do While j < numSettings
json.J = j
outFile.WriteLine("Notification Type: " & json.StringOf("items[i].notificationSettings.notifications[j].type"))
outFile.WriteLine("Notification Method: " & json.StringOf("items[i].notificationSettings.notifications[j].method"))
j = j + 1
Loop
End If
i = i + 1
Loop
outFile.Close