Sample code for 30+ languages & platforms
B4X

Get a Google Calendar

See more Google Calendar Examples

Demonstrates how to get a particular Google Calendar. The calendar can be referenced by the calendar ID, or by the keyword "primary".

Chilkat B4X Downloads

B4X
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 ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/googleCalendar.json")
If jsonToken.HasMember("access_token") = False Then
    Log("No access token found.")
    Return
End If

Dim http As ChilkatHttp
http.Initialize("http")
http.AuthToken = jsonToken.StringOf("access_token")

'  Let's get the primary calendar.
Dim jsonResponse As String = http.QuickGetStr("https://www.googleapis.com/calendar/v3/users/me/calendarList/primary")
If http.LastMethodSuccess <> True Then
    Log(http.LastErrorText)
    Return
End If


Log(jsonResponse)

'  A sample response is:

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

'  It can be parsed like this:
Dim json As ChilkatJsonObject
json.Initialize
json.Load(jsonResponse)

Log("kind: " & json.StringOf("kind"))
Log("id: " & json.StringOf("id"))

'  Examine the notification settings, if any..
Dim numSettings As Int = json.SizeOfArray("notificationSettings.notifications")
If numSettings > 0 Then
    Dim i As Int = 0
    Do While i < numSettings
        json.I = i
        Log("Notification Type: " & json.StringOf("notificationSettings.notifications[i].type"))
        Log("Notification Method: " & json.StringOf("notificationSettings.notifications[i].method"))
        i = i + 1
    Loop
End If