Tcl
Tcl
Check PayPal Access Token Expiration
See more PayPal Examples
Checks to see if the PayPal access token expired.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# Note: Requires Chilkat v9.5.0.64 or greater.
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
# In the example linked here: PayPal OAuth2 Token,
# we fetched a PayPal access token and saved it to a JSON file.
# We also recorded the current date/time.
# Load this JSON file and compare the current date/time with the fetch date/time
# and the "expires_in" value to see if the token is expired.
set json [new_CkJsonObject]
set success [CkJsonObject_LoadFile $json "qa_data/tokens/paypal.json"]
if {$success != 1} then {
puts "Failed to load access key json file."
delete_CkJsonObject $json
exit
}
# Get the current date/time.
set dateTime [new_CkDateTime]
set bLocalTime 0
set dtNow [CkDateTime_GetAsUnixTime $dateTime $bLocalTime]
# Get the access token create date/time
set dtCreate [CkJsonObject_IntOf $json "tokenCreateTimeUtc"]
# Find out how many seconds have elapsed.
set numSeconds [expr $dtNow - $dtCreate]
# Get the expires_in value from the JSON.
set expires_in [CkJsonObject_IntOf $json "expires_in"]
puts "token age (in seconds) = $numSeconds"
puts "expires_in = $expires_in"
# If the token expired, or if it will expire in 5 minutes or less,
# get another token.
if {$numSeconds < [expr $expires_in - 300]} then {
puts "The token is not yet expired. No need to fetch another."
delete_CkJsonObject $json
delete_CkDateTime $dateTime
exit
}
puts "Time to fetch a new access token..."
# Get another token..
# See the example at Get PayPal OAuth2 Token
# to get another token..
delete_CkJsonObject $json
delete_CkDateTime $dateTime