Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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
#include <CkJsonObject.h> #include <CkHttp.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkString strOut; // 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. CkJsonObject jsonToken; bool success = jsonToken.LoadFile("qa_data/tokens/qb-access-token.json"); if (success != true) { strOut.append("Failed to load qb-access-token.json"); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // 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 CkHttp http; http.SetRequestHeader("Accept","application/json"); http.put_BasicAuth(true); http.put_Login("QUICKBOOKS-CLIENT-ID"); http.put_Password("QUICKBOOKS-CLIENT-SECRET"); CkJsonObject json; json.UpdateString("token",jsonToken.stringOf("access_token")); const char *url = "https://developer.api.intuit.com/v2/oauth2/tokens/revoke"; CkHttpResponse *resp = http.PostJson3(url,"application/json",json); if (http.get_LastMethodSuccess() != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } strOut.append("Response status code = "); strOut.appendInt(resp->get_StatusCode()); strOut.append("\r\n"); strOut.append("Response body:"); strOut.append("\r\n"); strOut.append(resp->bodyStr()); strOut.append("\r\n"); delete resp; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.