Sample code for 30+ languages & platforms
Chilkat2-Python

Outlook Calendar List Calendars

See more Outlook Calendar Examples

Get all the user's calendars.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

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

http = chilkat2.Http()

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

jsonToken = chilkat2.JsonObject()
success = jsonToken.LoadFile("qa_data/tokens/outlookCalendar.json")
if (success == False):
    print(jsonToken.LastErrorText)
    sys.exit()

http.AuthToken = jsonToken.StringOf("access_token")

resp = chilkat2.HttpResponse()
success = http.HttpNoBody("GET","https://graph.microsoft.com/v1.0/me/calendars",resp)
if (success == False):
    print(http.LastErrorText)
    sys.exit()

print("Response status code = " + str(resp.StatusCode))

# The HTTP request succeeded if the response status code = 200.
if (resp.StatusCode != 200):
    print(resp.BodyStr)
    print("Failed")
    sys.exit()

json = chilkat2.JsonObject()
json.Load(resp.BodyStr)
json.EmitCompact = False
print(json.Emit())

# Here is a sample response:

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

# {
#     "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#me/calendars",
#     "value": [
#         {
#             "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/calendars('AAMkAGI2TGuLAAA=')",
#             "id": "AAMkAGI2TGuLAAA=",
#             "name": "Calendar",
#             "color": "auto",
#             "changeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
#             "canShare":true,
#             "canViewPrivateItems":true,
#             "hexColor": "",
#             "canEdit":true,
#             "allowedOnlineMeetingProviders": [
#                 "teamsForBusiness"
#             ],
#             "defaultOnlineMeetingProvider": "teamsForBusiness",
#             "isTallyingResponses": true,
#             "isRemovable": false,
#             "owner":{
#                 "name":"Samantha Booth",
#                 "address":"samanthab@adatum.onmicrosoft.com"
#             }
#         }
#     ]
# }

odata_context = json.StringOf("\"@odata.context\"")
i = 0
count_i = json.SizeOfArray("value")
while i < count_i :
    json.I = i
    id = json.StringOf("value[i].id")
    name = json.StringOf("value[i].name")
    color = json.StringOf("value[i].color")
    hexColor = json.StringOf("value[i].hexColor")
    isDefaultCalendar = json.BoolOf("value[i].isDefaultCalendar")
    changeKey = json.StringOf("value[i].changeKey")
    canShare = json.BoolOf("value[i].canShare")
    canViewPrivateItems = json.BoolOf("value[i].canViewPrivateItems")
    canEdit = json.BoolOf("value[i].canEdit")
    defaultOnlineMeetingProvider = json.StringOf("value[i].defaultOnlineMeetingProvider")
    isTallyingResponses = json.BoolOf("value[i].isTallyingResponses")
    isRemovable = json.BoolOf("value[i].isRemovable")
    ownerName = json.StringOf("value[i].owner.name")
    ownerAddress = json.StringOf("value[i].owner.address")
    j = 0
    count_j = json.SizeOfArray("value[i].allowedOnlineMeetingProviders")
    while j < count_j :
        json.J = j
        strVal = json.StringOf("value[i].allowedOnlineMeetingProviders[j]")
        j = j + 1

    i = i + 1