Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoHttpResponse.h>

BOOL success = NO;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

CkoHttp *http = [[CkoHttp alloc] init];

// The HTTP Basic authentication for this request is the
// OAuth client id and secret you've already obtained.
http.BasicAuth = YES;
http.Login = @"my_akeneo_client_id";
http.Password = @"my_akeneo_secret";

// Build this JSON:
// {
//   "grant_type": "password",
//   "username": "yourusername",
//   "password": "yourpassword"
// }

CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"grant_type" value: @"password"];
[json UpdateString: @"username" value: @"my_akeneo_username"];
[json UpdateString: @"password" value: @"my_akeneo_password"];

// POST this JSON (with the Basic Authentication header)
NSString *url = @"http://pim.my-akeneo-site.com/api/oauth/v1/token";
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: url json: json contentType: @"application/json" response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"Response status code: ",[resp.StatusCode intValue]);
NSLog(@"%@%@",@"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: resp.BodyStr];
    NSString *access_token = [json StringOf: @"access_token"];
    int expires_in = [[json IntOf: @"expires_in"] intValue];
    NSString *token_type = [json StringOf: @"token_type"];
    NSString *scope = [json StringOf: @"scope"];
    NSString *refresh_token = [json StringOf: @"refresh_token"];

    NSLog(@"%@%@",@"Access Token: ",access_token);
}