VB.NET Google Calendar: List Calendars

Back to Index

Returns entries on the user's calendar list.

Documentation: https://developers.google.com/google-apps/calendar/v3/reference/calendarList/list


Dim rest As New Chilkat.Rest
Dim success As Boolean

'   Provide a previously obtained OAuth2 access token.
Dim oauth2 As New Chilkat.OAuth2
oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
rest.SetAuthOAuth2(oauth2)

success = rest.Connect("www.googleapis.com",443,True,True)
If (success <> True) Then
    Debug.WriteLine(rest.LastErrorText)
    Exit Sub
End If


Dim sbJson As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET","/calendar/v3/users/me/calendarList",sbJson)
If (success <> True) Then
    Debug.WriteLine(rest.LastErrorText)
    Exit Sub
End If


If (rest.ResponseStatusCode <> 200) Then
    Debug.WriteLine("Received error response code: " & rest.ResponseStatusCode)
    Debug.WriteLine("Response body:")
    Debug.WriteLine(sbJson.GetAsString())
    Exit Sub
End If


Dim json As New Chilkat.JsonObject
json.LoadSb(sbJson)

'  The following code parses the JSON response.
'  A sample JSON response is shown below the sample code.
Dim kind As String
Dim etag As String
Dim nextSyncToken As String
Dim i As Integer
Dim count_i As Integer
Dim id As String
Dim summary As String
Dim timeZone As String
Dim colorId As String
Dim backgroundColor As String
Dim foregroundColor As String
Dim selected As Boolean
Dim accessRole As String
Dim primary As Boolean
Dim j As Integer
Dim count_j As Integer
Dim method As String
Dim minutes As Integer
Dim type As String

kind = json.StringOf("kind")
etag = json.StringOf("etag")
nextSyncToken = json.StringOf("nextSyncToken")
i = 0
count_i = json.SizeOfArray("items")
While i < count_i
    json.I = i
    kind = json.StringOf("items[i].kind")
    etag = json.StringOf("items[i].etag")
    id = json.StringOf("items[i].id")
    summary = json.StringOf("items[i].summary")
    timeZone = json.StringOf("items[i].timeZone")
    colorId = json.StringOf("items[i].colorId")
    backgroundColor = json.StringOf("items[i].backgroundColor")
    foregroundColor = json.StringOf("items[i].foregroundColor")
    selected = json.BoolOf("items[i].selected")
    accessRole = json.StringOf("items[i].accessRole")
    primary = json.BoolOf("items[i].primary")
    j = 0
    count_j = json.SizeOfArray("items[i].defaultReminders")
    While j < count_j
        json.J = j
        method = json.StringOf("items[i].defaultReminders[j].method")
        minutes = json.IntOf("items[i].defaultReminders[j].minutes")
        j = j + 1
    End While
    j = 0
    count_j = json.SizeOfArray("items[i].notificationSettings.notifications")
    While j < count_j
        json.J = j
        type = json.StringOf("items[i].notificationSettings.notifications[j].type")
        method = json.StringOf("items[i].notificationSettings.notifications[j].method")
        j = j + 1
    End While
    i = i + 1
End While



Debug.WriteLine("Example Completed.")

Sample JSON Response Body

{
 "kind": "calendar#calendarList",
 "etag": "\"p33gdfl6bualde0g\"",
 "nextSyncToken": "CODX1MvyqtcCEhhzdXBwb3J0QGNoaWxrYXRjbG91ZC5jb20=",
 "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": []
  }
 ]
}