Sample code for 30+ languages & platforms
Objective-C

Moody's REST API - Get OAuth2 Token

See more Moody's Examples

Demonstrates how to get an OAuth2 access token for the Moody's REST API.

Chilkat Objective-C Downloads

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

BOOL success = NO;

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

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

CkoHttpRequest *req = [[CkoHttpRequest alloc] init];
[req AddParam: @"grant_type" value: @"password"];
[req AddParam: @"scope" value: @"api/ratings api/addin rest"];
[req AddParam: @"username" value: @"my_username"];
[req AddParam: @"password" value: @"my_password"];
// I have no idea of where to get the client_id or client_secret.
// When you create a Moody's App, it only provides an "API Key".
[req AddParam: @"client_id" value: @"my_client_id"];
[req AddParam: @"client_secret" value: @"my_client_secret"];

req.HttpVerb = @"POST";
req.ContentType = @"application/x-www-form-urlencoded";

CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpReq: @"https://api.moodys.com/OAuth/Token" request: req response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"status code = ",[resp.StatusCode intValue]);
NSString *responseBody = resp.BodyStr;
NSLog(@"%@",responseBody);

// Save the JSON to a file for future requests.
if ([resp.StatusCode intValue] == 200) {
    CkoFileAccess *fac = [[CkoFileAccess alloc] init];
    [fac WriteEntireTextFile: @"qa_data/tokens/moodys.json" fileData: resp.BodyStr charset: @"utf-8" includePreamble: NO];
}