Sample code for 30+ languages & platforms
Python Requires Chilkat v11.0.0+

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.

PayPal documentation

Chilkat Python Downloads

Python
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.")