(Tcl) Moody's REST API - Get OAuth2 Token
Demonstrates how to get an OAuth2 access token for the Moody's REST API.
load ./chilkat.dll
# 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"
# resp is a CkHttpResponse
set resp [CkHttp_PostUrlEncoded $http "https://api.moodys.com/OAuth/Token" $req]
if {[CkHttp_get_LastMethodSuccess $http] != 1} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpRequest $req
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_CkHttpResponse $resp
delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkFileAccess $fac
|