Sample code for 30+ languages & platforms
Objective-C

Check PayPal Access Token Expiration

See more PayPal Examples

Checks to see if the PayPal access token expired.

Chilkat Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>
#import <CkoDateTime.h>

BOOL success = NO;

//  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.

CkoJsonObject *json = [[CkoJsonObject alloc] init];
success = [json LoadFile: @"qa_data/tokens/paypal.json"];
if (success != YES) {
    NSLog(@"%@",@"Failed to load access key json file.");
    return;
}

//  Get the current date/time.
CkoDateTime *dateTime = [[CkoDateTime alloc] init];
BOOL bLocalTime = NO;
int dtNow = [dateTime GetAsUnixTime: bLocalTime];

//  Get the access token create date/time
int dtCreate = [[json IntOf: @"tokenCreateTimeUtc"] intValue];

//  Find out how many seconds have elapsed.
int numSeconds = dtNow - dtCreate;

//  Get the expires_in value from the JSON.
int expires_in = [[json IntOf: @"expires_in"] intValue];

NSLog(@"%@%d",@"token age (in seconds) = ",numSeconds);
NSLog(@"%@%d",@"expires_in = ",expires_in);

//  If the token expired, or if it will expire in 5 minutes or less,
//  get another token.
if (numSeconds < (expires_in - 300)) {
    NSLog(@"%@",@"The token is not yet expired.  No need to fetch another.");
    return;
}

NSLog(@"%@",@"Time to fetch a new access token...");

//  Get another token..
//  See the example at Get PayPal OAuth2 Token
//  to get another token..