Classic ASP
Classic ASP
List Google Calendars
See more Google Calendar Examples
Demonstrates how to list the Google Calendars for an account.Chilkat Classic ASP Downloads
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
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 = Server.CreateObject("Chilkat.JsonObject")
success = jsonToken.LoadFile("qa_data/tokens/googleCalendar.json")
If (jsonToken.HasMember("access_token") = 0) Then
Response.Write "<pre>" & Server.HTMLEncode( "No access token found.") & "</pre>"
Response.End
End If
set http = Server.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
Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
Response.End
End If
Response.Write "<pre>" & Server.HTMLEncode( jsonResponse) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "-----------------------------") & "</pre>"
' 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 = Server.CreateObject("Chilkat.JsonObject")
success = json.Load(jsonResponse)
numCalendars = json.SizeOfArray("items")
i = 0
Do While i < numCalendars
Response.Write "<pre>" & Server.HTMLEncode( "--- " & i & " ---") & "</pre>"
json.I = i
Response.Write "<pre>" & Server.HTMLEncode( "kind: " & json.StringOf("items[i].kind")) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "id: " & json.StringOf("items[i].id")) & "</pre>"
' 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
Response.Write "<pre>" & Server.HTMLEncode( "Notification Type: " & json.StringOf("items[i].notificationSettings.notifications[j].type")) & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( "Notification Method: " & json.StringOf("items[i].notificationSettings.notifications[j].method")) & "</pre>"
j = j + 1
Loop
End If
i = i + 1
Loop
%>
</body>
</html>