C
C
Xero Get Full Set of Tenants
See more Xero Examples
Check the full set of tenants you've been authorized to accessChilkat C Downloads
#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);
}