Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Check PayPal Access Token ExpirationChecks to see if the PayPal access token expired.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, CkDateTime, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var json: HCkJsonObject; success: Boolean; dateTime: HCkDateTime; bLocalTime: Boolean; dtNow: Integer; dtCreate: Integer; numSeconds: Integer; expires_in: Integer; begin // 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. json := CkJsonObject_Create(); success := CkJsonObject_LoadFile(json,'qa_data/tokens/paypal.json'); if (success <> True) then begin Memo1.Lines.Add('Failed to load access key json file.'); Exit; end; // Get the current date/time. dateTime := CkDateTime_Create(); bLocalTime := False; dtNow := CkDateTime_GetAsUnixTime(dateTime,bLocalTime); // Get the access token create date/time dtCreate := CkJsonObject_IntOf(json,'tokenCreateTimeUtc'); // Find out how many seconds have elapsed. numSeconds := dtNow - dtCreate; // Get the expires_in value from the JSON. expires_in := CkJsonObject_IntOf(json,'expires_in'); Memo1.Lines.Add('token age (in seconds) = ' + IntToStr(numSeconds)); Memo1.Lines.Add('expires_in = ' + IntToStr(expires_in)); // If the token expired, or if it will expire in 5 minutes or less, // get another token. if (numSeconds < (expires_in - 300)) then begin Memo1.Lines.Add('The token is not yet expired. No need to fetch another.'); Exit; end; Memo1.Lines.Add('Time to fetch a new access token...'); // Get another token.. // See the example at Get PayPal OAuth2 Token // to get another token.. CkJsonObject_Dispose(json); CkDateTime_Dispose(dateTime); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.