Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set http [new_CkHttp]

set req [new_CkHttpRequest]

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_put_HttpVerb $req "POST"
CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpReq $http "https://api.moodys.com/OAuth/Token" $req $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpRequest $req
    delete_CkHttpResponse $resp
    exit
}

puts "status code = [CkHttpResponse_get_StatusCode $resp]"
set responseBody [CkHttpResponse_bodyStr $resp]
puts "$responseBody"

# Save the JSON to a file for future requests.
if {[CkHttpResponse_get_StatusCode $resp] == 200} then {
    set fac [new_CkFileAccess]

    CkFileAccess_WriteEntireTextFile $fac "qa_data/tokens/moodys.json" [CkHttpResponse_bodyStr $resp] "utf-8" 0
}


delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkHttpResponse $resp
delete_CkFileAccess $fac