Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oReq
LOCAL oResp
LOCAL cResponseBody
LOCAL oFac

nSuccess := 0

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

oHttp := CreateObject("Chilkat.Http")

oReq := CreateObject("Chilkat.HttpRequest")
oReq:AddParam("grant_type", "password")
oReq:AddParam("scope", "api/ratings api/addin rest")
oReq:AddParam("username", "my_username")
oReq:AddParam("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".
oReq:AddParam("client_id", "my_client_id")
oReq:AddParam("client_secret", "my_client_secret")

oReq:HttpVerb := "POST"
oReq:ContentType := "application/x-www-form-urlencoded"

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpReq("https://api.moodys.com/OAuth/Token", oReq, oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oReq:destroy()
    oResp:destroy()
    RETURN
ENDIF

? "status code = " + Str(oResp:StatusCode)
cResponseBody := oResp:BodyStr
? cResponseBody

//  Save the JSON to a file for future requests.
IF (oResp:StatusCode == 200)
    oFac := CreateObject("Chilkat.FileAccess")
    oFac:WriteEntireTextFile("qa_data/tokens/moodys.json", oResp:BodyStr, "utf-8", 0)
ENDIF

oHttp:destroy()
oReq:destroy()
oResp:destroy()
oFac:destroy()