![]() |
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
(Unicode 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_CkHttpW.h> #include <C_CkJsonObjectW.h> #include <C_CkHttpResponseW.h> #include <C_CkJsonArrayW.h> void ChilkatSample(void) { BOOL success; HCkHttpW http; HCkJsonObjectW jsonToken; HCkHttpResponseW resp; HCkJsonArrayW jarr; HCkJsonObjectW json; const wchar_t *id; const wchar_t *tenantId; const wchar_t *tenantType; const wchar_t *createdDateUtc; const wchar_t *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 = CkHttpW_Create(); jsonToken = CkJsonObjectW_Create(); success = CkJsonObjectW_LoadFile(jsonToken,L"qa_data/tokens/xero-access-token.json"); if (success == FALSE) { wprintf(L"%s\n",CkJsonObjectW_lastErrorText(jsonToken)); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonToken); return; } CkHttpW_putAuthToken(http,CkJsonObjectW_stringOf(jsonToken,L"access_token")); CkHttpW_putAccept(http,L"application/json"); resp = CkHttpResponseW_Create(); success = CkHttpW_HttpNoBody(http,L"GET",L"https://api.xero.com/connections",resp); if (success == FALSE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonToken); CkHttpResponseW_Dispose(resp); return; } wprintf(L"Response Status Code: %d\n",CkHttpResponseW_getStatusCode(resp)); jarr = CkJsonArrayW_Create(); CkJsonArrayW_Load(jarr,CkHttpResponseW_bodyStr(resp)); CkJsonArrayW_putEmitCompact(jarr,FALSE); wprintf(L"%s\n",CkJsonArrayW_emit(jarr)); if (CkHttpResponseW_getStatusCode(resp) != 200) { wprintf(L"Failed.\n"); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonToken); CkHttpResponseW_Dispose(resp); CkJsonArrayW_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 = CkJsonArrayW_getSize(jarr); while (i < count_i) { json = CkJsonArrayW_ObjectAt(jarr,i); id = CkJsonObjectW_stringOf(json,L"id"); tenantId = CkJsonObjectW_stringOf(json,L"tenantId"); tenantType = CkJsonObjectW_stringOf(json,L"tenantType"); createdDateUtc = CkJsonObjectW_stringOf(json,L"createdDateUtc"); updatedDateUtc = CkJsonObjectW_stringOf(json,L"updatedDateUtc"); CkJsonObjectW_Dispose(json); i = i + 1; } CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonToken); CkHttpResponseW_Dispose(resp); CkJsonArrayW_Dispose(jarr); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.