Objective-C
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
#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);
}