C
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 C Downloads
#include <C_CkHttp.h>
#include <C_CkHttpRequest.h>
#include <C_CkHttpResponse.h>
#include <C_CkFileAccess.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkHttpRequest req;
HCkHttpResponse resp;
const char *responseBody;
HCkFileAccess fac;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
req = CkHttpRequest_Create();
CkHttpRequest_AddParam(req,"grant_type","password");
CkHttpRequest_AddParam(req,"scope","api/ratings api/addin rest");
CkHttpRequest_AddParam(req,"username","my_username");
CkHttpRequest_AddParam(req,"password","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".
CkHttpRequest_AddParam(req,"client_id","my_client_id");
CkHttpRequest_AddParam(req,"client_secret","my_client_secret");
CkHttpRequest_putHttpVerb(req,"POST");
CkHttpRequest_putContentType(req,"application/x-www-form-urlencoded");
resp = CkHttpResponse_Create();
success = CkHttp_HttpReq(http,"https://api.moodys.com/OAuth/Token",req,resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
return;
}
printf("status code = %d\n",CkHttpResponse_getStatusCode(resp));
responseBody = CkHttpResponse_bodyStr(resp);
printf("%s\n",responseBody);
// Save the JSON to a file for future requests.
if (CkHttpResponse_getStatusCode(resp) == 200) {
fac = CkFileAccess_Create();
CkFileAccess_WriteEntireTextFile(fac,"qa_data/tokens/moodys.json",CkHttpResponse_bodyStr(resp),"utf-8",FALSE);
}
CkHttp_Dispose(http);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
CkFileAccess_Dispose(fac);
}