Sample code for 30+ languages & platforms
Ruby

Outlook Calendar List Events

See more Outlook Calendar Examples

Retrieve a list of events in a calendar.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

http = Chilkat::CkHttp.new()

# Use your previously obtained access token here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint).

jsonToken = Chilkat::CkJsonObject.new()
success = jsonToken.LoadFile("qa_data/tokens/outlookCalendar.json")
if (success == false)
    print jsonToken.lastErrorText() + "\n";
    exit
end

http.put_AuthToken(jsonToken.stringOf("access_token"))

# Specify the ID of the calendar to list.
calendarId = "AQMkADAwATM0MDAAMS1iNTcwLWI2NTEtMDACLTAwCgBGAAADsVyfxjDU406Ic4X7ill8xAcA5_vF7TKKdE6bGCRqXyl2PQAAAgEGAAAA5_vF7TKKdE6bGCRqXyl2PQAAAiCsAAAA"

http.SetUrlVar("id",calendarId)

# To list the events in the default calendar, use the following URL: https://graph.microsoft.com/v1.0/me/calendars/events

resp = Chilkat::CkHttpResponse.new()
success = http.HttpNoBody("GET","https://graph.microsoft.com/v1.0/me/calendars/{$id}/events",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Response status code = " + resp.get_StatusCode().to_s() + "\n";

# The HTTP request succeeded if the response status code = 200.
if (resp.get_StatusCode() != 200)
    print resp.bodyStr() + "\n";
    print "Failed" + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
json.Load(resp.bodyStr())
json.put_EmitCompact(false)
print json.emit() + "\n";

# Here is a sample response:

# Use this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

# {
#   "value": [
#     {
#       "originalStartTimeZone": "originalStartTimeZone-value",
#       "originalEndTimeZone": "originalEndTimeZone-value",
#       "responseStatus": {
#         "response": "",
#         "time": "datetime-value"
#       },
#       "iCalUId": "iCalUId-value",
#       "reminderMinutesBeforeStart": 99,
#       "isReminderOn": true
#     }
#   ]
# }

i = 0
count_i = json.SizeOfArray("value")
while i < count_i
    json.put_I(i)
    originalStartTimeZone = json.stringOf("value[i].originalStartTimeZone")
    originalEndTimeZone = json.stringOf("value[i].originalEndTimeZone")
    responseStatusResponse = json.stringOf("value[i].responseStatus.response")
    responseStatusTime = json.stringOf("value[i].responseStatus.time")
    iCalUId = json.stringOf("value[i].iCalUId")
    reminderMinutesBeforeStart = json.IntOf("value[i].reminderMinutesBeforeStart")
    isReminderOn = json.BoolOf("value[i].isReminderOn")
    i = i + 1
end