VB.NET UWP/WinRT Google Calendar: Insert an Event

Back to Index

Inserts a new event to a specified calendar.
This example inserts an event into the calender specified by ID = "support@chilkatcloud.com"
Returns the JSON of the event that was created.

Documentation: https://developers.google.com/google-apps/calendar/v3/reference/events/insert


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 = Await rest.ConnectAsync("www.googleapis.com",443,True,True)
If (success <> True) Then
    Debug.WriteLine(rest.LastErrorText)
    Exit Sub
End If



'  The following code creates the JSON request body.
'  The JSON created by this code is shown below.
Dim jsonReq As New Chilkat.JsonObject
jsonReq.UpdateString("kind","calendar#event")
jsonReq.UpdateString("status","confirmed")
jsonReq.UpdateString("summary","QXQC")
jsonReq.UpdateString("description","21st Annual QXQC Gathering")
jsonReq.UpdateString("location","Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA")
jsonReq.UpdateString("start.dateTime","2017-12-09T20:00:00-06:00")
jsonReq.UpdateString("end.dateTime","2017-12-09T23:00:00-06:00")
jsonReq.UpdateString("attendees[0].email","dean@example.com")
jsonReq.UpdateString("attendees[0].responseStatus","needsAction")
jsonReq.UpdateString("attendees[1].email","support@chilkatcloud.com")
jsonReq.UpdateBool("attendees[1].organizer",True)
jsonReq.UpdateBool("attendees[1].self",True)
jsonReq.UpdateString("attendees[1].responseStatus","accepted")
jsonReq.UpdateString("attendees[2].email","ajay@example.com")
jsonReq.UpdateString("attendees[2].responseStatus","needsAction")
jsonReq.UpdateString("attendees[3].email","jim@example.com")
jsonReq.UpdateString("attendees[3].responseStatus","needsAction")
jsonReq.UpdateString("attendees[4].email","gilian@example.com")
jsonReq.UpdateString("attendees[4].responseStatus","needsAction")
jsonReq.UpdateBool("reminders.useDefault",True)


Dim sbReq As New Chilkat.StringBuilder
jsonReq.EmitSb(sbReq)

rest.AddHeader("Content-Type","application/json")

Dim sbJson As New Chilkat.StringBuilder
success = Await rest.FullRequestSbAsync("POST","/calendar/v3/calendars/support@chilkatcloud.com/events",sbReq,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 id As String
Dim status As String
Dim htmlLink As String
Dim created As String
Dim updated As String
Dim summary As String
Dim description As String
Dim location As String
Dim creatorEmail As String
Dim creatorSelf As Boolean
Dim organizerEmail As String
Dim organizerSelf As Boolean
Dim startDateTime As String
Dim endDateTime As String
Dim iCalUID As String
Dim sequence As Integer
Dim hangoutLink As String
Dim remindersUseDefault As Boolean
Dim i As Integer
Dim count_i As Integer
Dim email As String
Dim responseStatus As String
Dim organizer As Boolean
Dim self As Boolean

kind = json.StringOf("kind")
etag = json.StringOf("etag")
id = json.StringOf("id")
status = json.StringOf("status")
htmlLink = json.StringOf("htmlLink")
created = json.StringOf("created")
updated = json.StringOf("updated")
summary = json.StringOf("summary")
description = json.StringOf("description")
location = json.StringOf("location")
creatorEmail = json.StringOf("creator.email")
creatorSelf = json.BoolOf("creator.self")
organizerEmail = json.StringOf("organizer.email")
organizerSelf = json.BoolOf("organizer.self")
startDateTime = json.StringOf("start.dateTime")
endDateTime = json.StringOf("end.dateTime")
iCalUID = json.StringOf("iCalUID")
sequence = json.IntOf("sequence")
hangoutLink = json.StringOf("hangoutLink")
remindersUseDefault = json.BoolOf("reminders.useDefault")
i = 0
count_i = json.SizeOfArray("attendees")
While i < count_i
    json.I = i
    email = json.StringOf("attendees[i].email")
    responseStatus = json.StringOf("attendees[i].responseStatus")
    organizer = json.BoolOf("attendees[i].organizer")
    self = json.BoolOf("attendees[i].self")
    i = i + 1
End While


Debug.WriteLine("Example Completed.")

Sample JSON Request Body

{
  "kind": "calendar#event",
  "status": "confirmed",
  "summary": "QXQC",
  "description": "21st Annual QXQC Gathering",
  "location": "Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA",
  "start": {
    "dateTime": "2017-12-09T20:00:00-06:00"
  },
  "end": {
    "dateTime": "2017-12-09T23:00:00-06:00"
  },
  "attendees": [
    {
      "email": "dean@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "support@chilkatcloud.com",
      "organizer": true,
      "self": true,
      "responseStatus": "accepted"
    },
    {
      "email": "ajay@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "jim@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "gilian@example.com",
      "responseStatus": "needsAction"
    }
  ],
  "reminders": {
    "useDefault": true
  }
}

Sample JSON Response Body

{
  "kind": "calendar#event",
  "etag": "\"3020332888490000\"",
  "id": "oqel9ijr6rgfgqg12b0qtlhfjs",
  "status": "confirmed",
  "htmlLink": "https://www.google.com/calendar/event?eid=b3FlbDlpanI2cmdmZ3FnMTJiMHF0bGhmanMgc3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t",
  "created": "2017-11-08T18:40:44.000Z",
  "updated": "2017-11-08T18:40:44.245Z",
  "summary": "QXQC",
  "description": "21st Annual QXQC Gathering",
  "location": "Quigley's Irish Pub, 43 E Jefferson Ave, Naperville, IL 60540, USA",
  "creator": {
    "email": "support@chilkatcloud.com",
    "self": true
  },
  "organizer": {
    "email": "support@chilkatcloud.com",
    "self": true
  },
  "start": {
    "dateTime": "2017-12-09T20:00:00-06:00"
  },
  "end": {
    "dateTime": "2017-12-09T23:00:00-06:00"
  },
  "iCalUID": "oqel9ijr6rgfgqg12b0qtlhfjs@google.com",
  "sequence": 0,
  "attendees": [
    {
      "email": "dean@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "support@chilkatcloud.com",
      "organizer": true,
      "self": true,
      "responseStatus": "accepted"
    },
    {
      "email": "ajay@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "jim@example.com",
      "responseStatus": "needsAction"
    },
    {
      "email": "gilian@example.com",
      "responseStatus": "needsAction"
    }
  ],
  "hangoutLink": "https://plus.google.com/hangouts/_/chilkatcloud.com/qxqc?hceid=c3VwcG9ydEBjaGlsa2F0Y2xvdWQuY29t.oqel9ijr6rgfgqg12b0qtlhfjs",
  "reminders": {
    "useDefault": true
  }
}