Sample code for 30+ languages & platforms
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

Swift

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!)")
    }


}