Swift
Swift
Get Populi Access Key (Token)
See more Populi Examples
Demonstrates how to authenticate and obtain an access key using a username and password.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 rest = CkoRest()!
// Connect using TLS.
// A single REST object, once connected, can be used for many Populi REST API calls.
// The auto-reconnect indicates that if the already-established HTTPS connection is closed,
// then it will be automatically re-established as needed.
var bAutoReconnect: Bool = true
success = rest.connect(hostname: "yourcollege.populi.co", port: 443, tls: true, autoReconnect: bAutoReconnect)
if success != true {
print("\(rest.lastErrorText!)")
return
}
rest.addQueryParam(name: "username", value: "POPULI_USERNAME")
rest.addQueryParam(name: "password", value: "POPULI_PASSWORD")
var responseBody: String? = rest.fullRequestFormUrlEncoded(httpVerb: "POST", uriPath: "/api/index.php")
if rest.lastMethodSuccess != true {
print("\(rest.lastErrorText!)")
return
}
// We should expect a 200 response if successful.
if rest.responseStatusCode.intValue != 200 {
print("Request Header: ")
print("\(rest.lastRequestHeader!)")
print("----")
print("Response StatusCode = \(rest.responseStatusCode.intValue)")
print("Response StatusLine: \(rest.responseStatusText!)")
print("Response Header:")
print("\(rest.responseHeader!)")
print("Response Body:")
print("\(responseBody!)")
return
}
let xml = CkoXml()!
xml.load(xmlData: responseBody)
print("\(xml.getXml()!)")
// Sample response:
// <?xml version="1.0" encoding="ISO-8859-1"?>
// <response>
// <access_key>63481e36023b5d ... 76d0dbc314</access_key>
// <accountid>19999999</accountid>
// <accounttype>PERSON</accounttype>
// </response>
// Save the XML to a file for subsequent requests..
xml.save(path: "qa_data/tokens/populi_token.xml")
}