Python Requires Chilkat v11.0.0+
Python
PayPal: Decide when to renew an access token
See more PayPal Examples
Use the UTC request time and expires_in from the token example. Renew five minutes early. This is a cache decision; a revoked token can still receive HTTP 401 before its calculated expiry.
Chilkat Python Downloads
import sys
import chilkat2
# Read the metadata saved by Get a sandbox access token.
timing = chilkat2.JsonObject()
issued = chilkat2.CkDateTime()
loadedTiming = timing.LoadFile("paypal-token-timing.json")
if (loadedTiming != True):
print("No timing metadata. Request a token.")
sys.exit()
validTimestamp = issued.SetFromTimestamp(timing.StringOf("issued_at"))
if (validTimestamp != True):
print("Invalid issue time. Request a token.")
sys.exit()
now = chilkat2.CkDateTime()
now.SetFromCurrentSystemTime()
age = now.DiffSeconds(issued)
lifetime = timing.IntOf("expires_in")
if ((age < 0) or (lifetime <= 300) or (age >= (lifetime - 300))):
print("Request a new client-credentials token.")
sys.exit()
print("Reuse the matching token from the credential store.")