![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) Xero Get Full Set of TenantsCheck the full set of tenants you've been authorized to access Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://developer.xero.com/documentation/oauth2/auth-flow
#include <C_CkHttp.h> #include <C_CkJsonObject.h> #include <C_CkHttpResponse.h> #include <C_CkJsonArray.h> void ChilkatSample(void) { BOOL success; HCkHttp http; HCkJsonObject jsonToken; HCkHttpResponse resp; HCkJsonArray jarr; HCkJsonObject json; const char *id; const char *tenantId; const char *tenantType; const char *createdDateUtc; const char *updatedDateUtc; int i; int count_i; success = FALSE; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http = CkHttp_Create(); jsonToken = CkJsonObject_Create(); success = CkJsonObject_LoadFile(jsonToken,"qa_data/tokens/xero-access-token.json"); if (success == FALSE) { printf("%s\n",CkJsonObject_lastErrorText(jsonToken)); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); return; } CkHttp_putAuthToken(http,CkJsonObject_stringOf(jsonToken,"access_token")); CkHttp_putAccept(http,"application/json"); resp = CkHttpResponse_Create(); success = CkHttp_HttpNoBody(http,"GET","https://api.xero.com/connections",resp); if (success == FALSE) { printf("%s\n",CkHttp_lastErrorText(http)); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkHttpResponse_Dispose(resp); return; } printf("Response Status Code: %d\n",CkHttpResponse_getStatusCode(resp)); jarr = CkJsonArray_Create(); CkJsonArray_Load(jarr,CkHttpResponse_bodyStr(resp)); CkJsonArray_putEmitCompact(jarr,FALSE); printf("%s\n",CkJsonArray_emit(jarr)); if (CkHttpResponse_getStatusCode(resp) != 200) { printf("Failed.\n"); CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkHttpResponse_Dispose(resp); CkJsonArray_Dispose(jarr); return; } // Sample response // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // [ // { // "id": "c869f3b7-6435-4c7e-8cb2-122721b04a69", // "tenantId": "45e4708e-d862-4111-ab3a-dd8cd03913e1", // "tenantType": "ORGANISATION", // "createdDateUtc": "2020-02-02T19:17:58.1117990", // "updatedDateUtc": "2020-02-02T19:17:58.1117990" // }, // { // "id": "74305bf3-12e0-45e2-8dc8-e3ec73e3b1f9", // "tenantId": "c3d5e782-2153-4cda-bdb4-cec791ceb90d", // "tenantType": "ORGANISATION", // "createdDateUtc": "2020-01-30T01:33:36.2717380", // "updatedDateUtc": "2020-02-02T19:21:08.5739590" // } // ] i = 0; count_i = CkJsonArray_getSize(jarr); while (i < count_i) { json = CkJsonArray_ObjectAt(jarr,i); id = CkJsonObject_stringOf(json,"id"); tenantId = CkJsonObject_stringOf(json,"tenantId"); tenantType = CkJsonObject_stringOf(json,"tenantType"); createdDateUtc = CkJsonObject_stringOf(json,"createdDateUtc"); updatedDateUtc = CkJsonObject_stringOf(json,"updatedDateUtc"); CkJsonObject_Dispose(json); i = i + 1; } CkHttp_Dispose(http); CkJsonObject_Dispose(jsonToken); CkHttpResponse_Dispose(resp); CkJsonArray_Dispose(jarr); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.