Swift
Swift
RSAP Union API - Get Members Status
See more _Miscellaneous_ Examples
Demonstrates how to use an OAuth2 access token for the RSAP Union API. Calls the endpoint to get the statuses of all union members.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// Load the access token previously obtained by this example: RSAP Union OAuth2
let jToken = CkoJsonObject()!
success = jToken.loadFile(path: "qa_data/tokens/rsapToken.json")
if success == false {
print("Failed to load access token JSON.")
return
}
// Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.authToken = jToken.string(of: "access_token")
// For authentication, assuming both the client cert and access token are needed???
let cert = CkoCert()!
success = cert.load(fromFile: "qa_data/certs_and_keys/union_client_certificate.crt")
if success == false {
print("\(cert.lastErrorText!)")
return
}
let privKey = CkoPrivateKey()!
success = privKey.loadAnyFormatFile(path: "qa_data/certs_and_keys/union_client_certificate.nopass.key", password: "")
if success == false {
print("\(privKey.lastErrorText!)")
return
}
// Associate the private key with the cert.
// This will fail if the private key is not actually the correct one that corresponds to the public key stored within the cert.
success = cert.setPrivateKey(privKey: privKey)
if success == false {
print("\(cert.lastErrorText!)")
return
}
// Tell HTTP to use the cert for client TLS certificate authentication.
success = http.setSslClientCert(cert: cert)
if success == false {
print("\(http.lastErrorText!)")
return
}
let sbResponseBody = CkoStringBuilder()!
success = http.quickGetSb(url: "https://api-test.rsap.ca/members/status", sbContent: sbResponseBody)
if success == false {
print("\(http.lastErrorText!)")
return
}
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = http.lastStatus.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(http.lastHeader!)")
print("Failed.")
return
}
}