Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.0.0+

Xero Get Full Set of Tenants

See more Xero Examples

Check the full set of tenants you've been authorized to access

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJsonToken
LOCAL oResp
LOCAL oJarr
LOCAL oJson
LOCAL cId
LOCAL cTenantId
LOCAL cTenantType
LOCAL cCreatedDateUtc
LOCAL cUpdatedDateUtc
LOCAL i
LOCAL nCount_i

nSuccess := 0

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oHttp := CreateObject("Chilkat.Http")

oJsonToken := CreateObject("Chilkat.JsonObject")
nSuccess := oJsonToken:LoadFile("qa_data/tokens/xero-access-token.json")
IF (nSuccess == 0)
    ? oJsonToken:LastErrorText
    oHttp:destroy()
    oJsonToken:destroy()
    RETURN
ENDIF

oHttp:AuthToken := oJsonToken:StringOf("access_token")

oHttp:Accept := "application/json"

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpNoBody("GET", "https://api.xero.com/connections", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJsonToken:destroy()
    oResp:destroy()
    RETURN
ENDIF

? "Response Status Code: " + Str(oResp:StatusCode)

oJarr := CreateObject("Chilkat.JsonArray")
oJarr:Load(oResp:BodyStr)
oJarr:EmitCompact := 0
? oJarr:Emit()

IF (oResp:StatusCode != 200)
    ? "Failed."
    oHttp:destroy()
    oJsonToken:destroy()
    oResp:destroy()
    oJarr:destroy()
    RETURN
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"
//      }
//  ]

i := 0
nCount_i := oJarr:Size
DO WHILE i < nCount_i
    oJson := oJarr:ObjectAt(i)
    cId := oJson:StringOf("id")
    cTenantId := oJson:StringOf("tenantId")
    cTenantType := oJson:StringOf("tenantType")
    cCreatedDateUtc := oJson:StringOf("createdDateUtc")
    cUpdatedDateUtc := oJson:StringOf("updatedDateUtc")
    oJson:destroy()
    i := i + 1
ENDDO

oHttp:destroy()
oJsonToken:destroy()
oResp:destroy()
oJarr:destroy()