Swift
Swift
Get Akeneo Token given Client ID and Secret
See more HTTP Misc Examples
Assumes you're starting with a client ID and secret obtained from your OAuth1 provider, such as OneLogin. Demonstrates how to get an akeneo token using your client id/secret in combination with your akeneo login/password.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()!
// The HTTP Basic authentication for this request is the
// OAuth client id and secret you've already obtained.
http.basicAuth = true
http.login = "my_akeneo_client_id"
http.password = "my_akeneo_secret"
// Build this JSON:
// {
// "grant_type": "password",
// "username": "yourusername",
// "password": "yourpassword"
// }
let json = CkoJsonObject()!
json.updateString(jsonPath: "grant_type", value: "password")
json.updateString(jsonPath: "username", value: "my_akeneo_username")
json.updateString(jsonPath: "password", value: "my_akeneo_password")
// POST this JSON (with the Basic Authentication header)
var url: String? = "http://pim.my-akeneo-site.com/api/oauth/v1/token"
let resp = CkoHttpResponse()!
success = http.httpJson(verb: "POST", url: url, json: json, contentType: "application/json", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
print("Response status code: \(resp.statusCode.intValue)")
print("Response body: \(resp.bodyStr!)")
if resp.statusCode.intValue == 200 {
// Success.
// Parse the response, which looks like this:
// {
// "access_token": "MTE0NzNkNzI5YTk0ZTBlNmFlNTI5NmVkOWJhZjUxYWRkN2UzZWIwOWNkMTkwNzY5Mzk3NGViMDFmYzdlODJlMg",
// "expires_in": 3600,
// "token_type": "bearer",
// "scope": null,
// "refresh_token": "ZDkyMzA2NDhlZjQ2MGQyMDQ2MWRiMDBmOTdkZjQ5ODY5Mzc3MTEzMjVkNTkwZThmNWRlNWY0MzllYWMxZWQ5ZA"
// }
json.load(json: resp.bodyStr)
var access_token: String? = json.string(of: "access_token")
var expires_in: Int = json.int(of: "expires_in").intValue
var token_type: String? = json.string(of: "token_type")
var scope: String? = json.string(of: "scope")
var refresh_token: String? = json.string(of: "refresh_token")
print("Access Token: \(access_token!)")
}
}