Xojo Plugin Google Calendar: Get Calendar

Back to Index

Returns an entry on the user's calendar list.
This example gets the calendar having the ID = "support@chilkatcloud.com".

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


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
    System.DebugLog(rest.LastErrorText)
    Return
End If

Dim sbJson As New Chilkat.StringBuilder
success = rest.FullRequestNoBodySb("GET","/calendar/v3/users/me/calendarList/support@chilkatcloud.com",sbJson)
If (success <> True) Then
    System.DebugLog(rest.LastErrorText)
    Return
End If

If (rest.ResponseStatusCode <> 200) Then
    System.DebugLog("Received error response code: " + Str(rest.ResponseStatusCode))
    System.DebugLog("Response body:")
    System.DebugLog(sbJson.GetAsString())
    Return
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 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 i As Int32
Dim count_i As Int32
Dim method As String
Dim minutes As Int32
Dim type As String

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

System.DebugLog("Example Completed.")

Sample JSON Response Body

{
  "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
}