Swift
Swift
Outlook Calendar List Calendars
See more Outlook Calendar Examples
Get all the user's calendars.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// Use your previously obtained access token here: Get Outlook Calendar OAuth2 Access Token (Azure AD v2.0 Endpoint).
let jsonToken = CkoJsonObject()!
success = jsonToken.loadFile(path: "qa_data/tokens/outlookCalendar.json")
if success == false {
print("\(jsonToken.lastErrorText!)")
return
}
http.authToken = jsonToken.string(of: "access_token")
let resp = CkoHttpResponse()!
success = http.httpNoBody(verb: "GET", url: "https://graph.microsoft.com/v1.0/me/calendars", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
print("Response status code = \(resp.statusCode.intValue)")
// The HTTP request succeeded if the response status code = 200.
if resp.statusCode.intValue != 200 {
print("\(resp.bodyStr!)")
print("Failed")
return
}
let json = CkoJsonObject()!
json.load(json: 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"
// }
// }
// ]
// }
var id: String?
var name: String?
var color: String?
var hexColor: String?
var isDefaultCalendar: Bool
var changeKey: String?
var canShare: Bool
var canViewPrivateItems: Bool
var canEdit: Bool
var defaultOnlineMeetingProvider: String?
var isTallyingResponses: Bool
var isRemovable: Bool
var ownerName: String?
var ownerAddress: String?
var j: Int
var count_j: Int
var strVal: String?
var odata_context: String? = json.string(of: "\"@odata.context\"")
var i: Int = 0
var count_i: Int = json.size(ofArray: "value").intValue
while i < count_i {
json.i = i
id = json.string(of: "value[i].id")
name = json.string(of: "value[i].name")
color = json.string(of: "value[i].color")
hexColor = json.string(of: "value[i].hexColor")
isDefaultCalendar = json.bool(of: "value[i].isDefaultCalendar")
changeKey = json.string(of: "value[i].changeKey")
canShare = json.bool(of: "value[i].canShare")
canViewPrivateItems = json.bool(of: "value[i].canViewPrivateItems")
canEdit = json.bool(of: "value[i].canEdit")
defaultOnlineMeetingProvider = json.string(of: "value[i].defaultOnlineMeetingProvider")
isTallyingResponses = json.bool(of: "value[i].isTallyingResponses")
isRemovable = json.bool(of: "value[i].isRemovable")
ownerName = json.string(of: "value[i].owner.name")
ownerAddress = json.string(of: "value[i].owner.address")
j = 0
count_j = json.size(ofArray: "value[i].allowedOnlineMeetingProviders").intValue
while j < count_j {
json.j = j
strVal = json.string(of: "value[i].allowedOnlineMeetingProviders[j]")
j = j + 1
}
i = i + 1
}
}