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
(PureBasic) Quickbooks Revoke OAuth2 TokenDemonstrates how to revoke a QuickBooks OAuth2 access token. For more information, see https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0#revoke-token-disconnect
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; This example assumes we previously obtained an OAuth2 access token for QuickBooks. jsonToken.i = CkJsonObject::ckCreate() If jsonToken.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkJsonObject::ckLoadFile(jsonToken,"qa_data/tokens/qb-access-token.json") If success <> 1 Debug "Failed to load qb-access-token.json" CkJsonObject::ckDispose(jsonToken) ProcedureReturn EndIf ; The access token JSON looks something like this: ; { ; "expires_in": 3600, ; "x_refresh_token_expires_in": 8726400, ; "refresh_token": "L011546037639r ... 3vR2DrbOmg0Sdagw", ; "access_token": "eyJlbmMiOiJBMTI4Q0 ... oETJEMbeggg", ; "token_type": "bearer" ; } ; This code sends the following request: ; POST https://developer.api.intuit.com/v2/oauth2/tokens/revoke HTTP/1.1 ; Accept: application/json ; Authorization: Basic UTM0dVB...wM1d2 ; Content-Type: application/json ; ; { ; "token": "{bearerToken or refreshToken}" ; } ; Use this online tool to generate HTTP code from a sample request: ; Generate Code from a Sample HTTP Request http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkHttp::ckSetRequestHeader(http,"Accept","application/json") CkHttp::setCkBasicAuth(http, 1) CkHttp::setCkLogin(http, "QUICKBOOKS-CLIENT-ID") CkHttp::setCkPassword(http, "QUICKBOOKS-CLIENT-SECRET") json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"token",CkJsonObject::ckStringOf(jsonToken,"access_token")) url.s = "https://developer.api.intuit.com/v2/oauth2/tokens/revoke" resp.i = CkHttp::ckPostJson3(http,url,"application/json",json) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkJsonObject::ckDispose(jsonToken) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) Debug "Response body:" Debug CkHttpResponse::ckBodyStr(resp) CkHttpResponse::ckDispose(resp) CkJsonObject::ckDispose(jsonToken) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.