![]() |
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
(PureBasic) 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
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonArray.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() success.i = 0 ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf jsonToken.i = CkJsonObject::ckCreate() If jsonToken.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkJsonObject::ckLoadFile(jsonToken,"qa_data/tokens/xero-access-token.json") If success = 0 Debug CkJsonObject::ckLastErrorText(jsonToken) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) ProcedureReturn EndIf CkHttp::setCkAuthToken(http, CkJsonObject::ckStringOf(jsonToken,"access_token")) CkHttp::setCkAccept(http, "application/json") resp.i = CkHttpResponse::ckCreate() If resp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkHttp::ckHttpNoBody(http,"GET","https://api.xero.com/connections",resp) If success = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkHttpResponse::ckDispose(resp) ProcedureReturn EndIf Debug "Response Status Code: " + Str(CkHttpResponse::ckStatusCode(resp)) jarr.i = CkJsonArray::ckCreate() If jarr.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonArray::ckLoad(jarr,CkHttpResponse::ckBodyStr(resp)) CkJsonArray::setCkEmitCompact(jarr, 0) Debug CkJsonArray::ckEmit(jarr) If CkHttpResponse::ckStatusCode(resp) <> 200 Debug "Failed." CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkHttpResponse::ckDispose(resp) CkJsonArray::ckDispose(jarr) ProcedureReturn EndIf ; 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" ; } ; ] json.i id.s tenantId.s tenantType.s createdDateUtc.s updatedDateUtc.s i.i = 0 count_i.i = CkJsonArray::ckSize(jarr) While i < count_i json = CkJsonArray::ckObjectAt(jarr,i) id = CkJsonObject::ckStringOf(json,"id") tenantId = CkJsonObject::ckStringOf(json,"tenantId") tenantType = CkJsonObject::ckStringOf(json,"tenantType") createdDateUtc = CkJsonObject::ckStringOf(json,"createdDateUtc") updatedDateUtc = CkJsonObject::ckStringOf(json,"updatedDateUtc") CkJsonObject::ckDispose(json) i = i + 1 Wend CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkHttpResponse::ckDispose(resp) CkJsonArray::ckDispose(jarr) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.