Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loReq
LOCAL loResp
LOCAL lcResponseBody
LOCAL loFac

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

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

loReq.HttpVerb = "POST"
loReq.ContentType = "application/x-www-form-urlencoded"

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpReq("https://api.moodys.com/OAuth/Token",loReq,loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loReq
    RELEASE loResp
    CANCEL
ENDIF

? "status code = " + STR(loResp.StatusCode)
lcResponseBody = loResp.BodyStr
? lcResponseBody

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

RELEASE loHttp
RELEASE loReq
RELEASE loResp
RELEASE loFac