Visual FoxPro
Visual FoxPro
Check PayPal Access Token Expiration
See more PayPal Examples
Checks to see if the PayPal access token expired.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loJson
LOCAL loDateTime
LOCAL lnBLocalTime
LOCAL lnDtNow
LOCAL lnDtCreate
LOCAL lnNumSeconds
LOCAL lnExpires_in
lnSuccess = 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.
loJson = CreateObject('Chilkat.JsonObject')
lnSuccess = loJson.LoadFile("qa_data/tokens/paypal.json")
IF (lnSuccess <> 1) THEN
? "Failed to load access key json file."
RELEASE loJson
CANCEL
ENDIF
* Get the current date/time.
loDateTime = CreateObject('Chilkat.CkDateTime')
lnBLocalTime = 0
lnDtNow = loDateTime.GetAsUnixTime(lnBLocalTime)
* Get the access token create date/time
lnDtCreate = loJson.IntOf("tokenCreateTimeUtc")
* Find out how many seconds have elapsed.
lnNumSeconds = lnDtNow - lnDtCreate
* Get the expires_in value from the JSON.
lnExpires_in = loJson.IntOf("expires_in")
? "token age (in seconds) = " + STR(lnNumSeconds)
? "expires_in = " + STR(lnExpires_in)
* If the token expired, or if it will expire in 5 minutes or less,
* get another token.
IF (lnNumSeconds < (lnExpires_in - 300)) THEN
? "The token is not yet expired. No need to fetch another."
RELEASE loJson
RELEASE loDateTime
CANCEL
ENDIF
? "Time to fetch a new access token..."
* Get another token..
* See the example at Get PayPal OAuth2 Token
* to get another token..
RELEASE loJson
RELEASE loDateTime