VB.NET
VB.NET
List Google Calendars
See more Google Calendar Examples
Demonstrates how to list the Google Calendars for an account.Chilkat VB.NET Downloads
Dim success As Boolean = False
' 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..
Dim jsonToken As New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/googleCalendar.json")
If (jsonToken.HasMember("access_token") = False) Then
Debug.WriteLine("No access token found.")
Exit Sub
End If
Dim http As New Chilkat.Http
http.AuthToken = jsonToken.StringOf("access_token")
Dim jsonResponse As String = http.QuickGetStr("https://www.googleapis.com/calendar/v3/users/me/calendarList")
If (http.LastMethodSuccess <> True) Then
Debug.WriteLine(http.LastErrorText)
Exit Sub
End If
Debug.WriteLine(jsonResponse)
Debug.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..
Dim json As New Chilkat.JsonObject
json.Load(jsonResponse)
Dim numCalendars As Integer = json.SizeOfArray("items")
Dim i As Integer = 0
While i < numCalendars
Debug.WriteLine("--- " & i & " ---")
json.I = i
Debug.WriteLine("kind: " & json.StringOf("items[i].kind"))
Debug.WriteLine("id: " & json.StringOf("items[i].id"))
' Examine the notification settings, if any..
Dim numSettings As Integer = json.SizeOfArray("items[i].notificationSettings.notifications")
If (numSettings > 0) Then
Dim j As Integer = 0
While j < numSettings
json.J = j
Debug.WriteLine("Notification Type: " & json.StringOf("items[i].notificationSettings.notifications[j].type"))
Debug.WriteLine("Notification Method: " & json.StringOf("items[i].notificationSettings.notifications[j].method"))
j = j + 1
End While
End If
i = i + 1
End While