Java
Java
Xero Get a Filtered Set of Resources (Get all SALES Accounts)
Demonstrates how to add the "where" parameter to get a filtered set of resources. See Get Filtered Resources.This example gets the accounts where the Type = "SALES".
Note: Requires Chilkat v9.5.0.64 or greater.
Chilkat Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
boolean success = false;
// Note: Requires Chilkat v9.5.0.64 or greater.
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkRest rest = new CkRest();
// Before sending REST API calls, the REST object needs to be
// initialized for OAuth1.
// See Xero 2-Legged OAuth1 Setup for sample code.
// Assuming the REST object's OAuth1 authenticator is setup, and the initial
// connection was made, we may now send REST HTTP requests..
// ------------------------------------------------------------
// Add the "where" parameter.
rest.AddQueryParam("where","Type==\"SALES\"");
// Get the full list of accounts.
CkStringBuilder sbXml = new CkStringBuilder();
success = rest.FullRequestNoBodySb("GET","/api.xro/2.0/Accounts",sbXml);
if (success != true) {
System.out.println(rest.lastErrorText());
return;
}
// A 200 response is expected for actual success.
if (rest.get_ResponseStatusCode() != 200) {
System.out.println(sbXml.getAsString());
return;
}
// Iterate over the accounts and get some information..
boolean bAutoTrim = false;
CkXml xml = new CkXml();
xml.LoadSb(sbXml,bAutoTrim);
// How many accounts exist?
int numAccounts = xml.NumChildrenAt("Accounts");
System.out.println("numAccounts = " + numAccounts);
int i = 0;
while (i < numAccounts) {
xml.put_I(i);
System.out.println("AccountID: " + xml.getChildContent("Accounts|Account[i]|AccountID"));
System.out.println("Name: " + xml.getChildContent("Accounts|Account[i]|Name"));
System.out.println("Code: " + xml.GetChildIntValue("Accounts|Account[i]|Code"));
System.out.println("EnablePaymentsToAccount: " + xml.GetChildBoolValue("Accounts|Account[i]|EnablePaymentsToAccount"));
System.out.println("----");
i = i+1;
}
}
}