(Tcl) Moody's REST API - Get OAuth2 Token
Demonstrates how to get an OAuth2 access token for the Moody's REST API.Note: This example requires Chilkat v11.0.0 or greater.
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
|