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
(DataFlex) PayPal -- Get an OAuth 2.0 Access TokenDemonstrates how to send a request to get a PayPal OAuth2 access token. Sends an HTTP request equivalent to the following: curl https://api.sandbox.paypal.com/v1/oauth2/token \ -H "Accept: application/json" \ -H "Accept-Language: en_US" \ -u "Client-Id:Secret" \ -d "grant_type=client_credentials"
Use ChilkatAx-win32.pkg Procedure Test Handle hoRest Boolean iBAutoReconnect Boolean iSuccess String sResponseStr Handle hoJson Handle hoDateTime Boolean iBLocalTime Integer iDtNow Handle hoSbResponse Boolean iBEmitBom String sTemp1 Integer iTemp1 Boolean bTemp1 // 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. Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End // Make the initial connection. // A single REST object, once connected, can be used for many PayPal REST API calls. // The auto-reconnect indicates that if the already-established HTTPS connection is closed, // then it will be automatically re-established as needed. Move True To iBAutoReconnect Get ComConnect Of hoRest "api.sandbox.paypal.com" 443 True iBAutoReconnect To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // Duplicate this request: // curl https://api.sandbox.paypal.com/v1/oauth2/token \ // -H "Accept: application/json" \ // -H "Accept-Language: en_US" \ // -u "Client-Id:Secret" \ // -d "grant_type=client_credentials" Get ComAddHeader Of hoRest "Accept" "application/json" To iSuccess Get ComAddHeader Of hoRest "Accept-Language" "en_US" To iSuccess // For additional help on where to find your client ID and API secret, see PayPal Client_ID and API_Secret Get ComSetAuthBasic Of hoRest "PAYPAL_REST_API_CLIENT_ID" "PAYPAL_REST_API_SECRET" To iSuccess Get ComAddQueryParam Of hoRest "grant_type" "client_credentials" To iSuccess Get ComFullRequestFormUrlEncoded Of hoRest "POST" "/v1/oauth2/token" To sResponseStr Get ComLastMethodSuccess Of hoRest To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End Get ComLastRequestHeader Of hoRest To sTemp1 Showln sTemp1 // A sample response: // { // "scope": "https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://api.paypal.com/v1/vault/credit-card/.*", // "access_token": "EEwJ6tF9x5WCIZDYzyZGaz6Khbw7raYRIBV_WxVvgmsG", // "token_type": "Bearer", // "app_id": "APP-6XR95014BA15863X", // "expires_in": 28800 // } Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComLoad Of hoJson sResponseStr To iSuccess Set ComEmitCompact Of hoJson To False // Check the response status code. A 200 indicates success.. Get ComResponseStatusCode Of hoRest To iTemp1 If (iTemp1 <> 200) Begin Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "Failed." Procedure_Return End // Given that the access token expires in approx 8 hours, // let's record the date/time this token was created. // This will allow us to know beforehand if the token // is expired (and we can then fetch a new token). Get Create (RefClass(cComCkDateTime)) To hoDateTime If (Not(IsComObjectCreated(hoDateTime))) Begin Send CreateComObject of hoDateTime End Move False To iBLocalTime Get ComGetAsUnixTime Of hoDateTime iBLocalTime To iDtNow Get ComAppendInt Of hoJson "tokenCreateTimeUtc" iDtNow To iSuccess // Examine the access token and save to a file. Get ComStringOf Of hoJson "access_token" To sTemp1 Showln "Access Token: " sTemp1 Showln "Full JSON Response:" Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Get Create (RefClass(cComChilkatStringBuilder)) To hoSbResponse If (Not(IsComObjectCreated(hoSbResponse))) Begin Send CreateComObject of hoSbResponse End Get ComEmit Of hoJson To sTemp1 Get ComAppend Of hoSbResponse sTemp1 To iSuccess Move False To iBEmitBom Get ComWriteFile Of hoSbResponse "qa_data/tokens/paypal.json" "utf-8" iBEmitBom To iSuccess End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.