Sample code for 30+ languages & platforms
Lianja

Xero Get Full Set of Tenants

See more Xero Examples

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

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loHttp = createobject("CkHttp")

loJsonToken = createobject("CkJsonObject")
llSuccess = loJsonToken.LoadFile("qa_data/tokens/xero-access-token.json")
if (llSuccess = .F.) then
    ? loJsonToken.LastErrorText
    release loHttp
    release loJsonToken
    return
endif

loHttp.AuthToken = loJsonToken.StringOf("access_token")

loHttp.Accept = "application/json"

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpNoBody("GET","https://api.xero.com/connections",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loJsonToken
    release loResp
    return
endif

? "Response Status Code: " + str(loResp.StatusCode)

loJarr = createobject("CkJsonArray")
loJarr.Load(loResp.BodyStr)
loJarr.EmitCompact = .F.
? loJarr.Emit()

if (loResp.StatusCode <> 200) then
    ? "Failed."
    release loHttp
    release loJsonToken
    release loResp
    release loJarr
    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
lnCount_i = loJarr.Size
do while i < lnCount_i
    loJson = loJarr.ObjectAt(i)
    lcId = loJson.StringOf("id")
    lcTenantId = loJson.StringOf("tenantId")
    lcTenantType = loJson.StringOf("tenantType")
    lcCreatedDateUtc = loJson.StringOf("createdDateUtc")
    lcUpdatedDateUtc = loJson.StringOf("updatedDateUtc")
    release loJson
    i = i + 1
enddo


release loHttp
release loJsonToken
release loResp
release loJarr