Notification

Urchin WebAnalytics Software is discontinued and is no longer supported. All Urchin documentation applies only to the Urchin product as it was at the time of discontinuation, and does not apply to any Google Analytics products or services.

REST Example 1 (v1): Retrieving the list of accounts for an authenticated user

(Return to main article: Samples for Java (REST) v1)

1. Specify service URL:

 

private static final String serviceURL = "http://URCHINHOST:URCHINPORT/services/v1/adminservice/";

2. Provide login information:

 

private static final String login = "URCHIN_LOGIN";
private static final String password = "URCHIN_PASSWORD";

3. Compose the REST URL:

 

URL service = new URL(serviceURL + "accounts/" + "?login=" + login + "&password=" + password);

4. Create the buffering character-input stream for retrieving the account list:

 

BufferedReader in = new BufferedReader(new InputStreamReader(service.openStream()));

5. Define namespace context implementation for data parsing:

 

class UrchinNamespaceContext implements NamespaceContext {
  public String getNamespaceURI(String prefix) {
    if (prefix == null) throw new NullPointerException("Null prefix");
    if (prefix.equals("tns")) return "https://urchin.com/api/urchin/v1/";
    else if ("xml".equals(prefix)) return XMLConstants.XML_NS_URI;
    return XMLConstants.NULL_NS_URI;
  }
  public String getPrefix(String namespaceURI) {
    throw new UnsupportedOperationException();
  }
  public Iterator getPrefixes(String namespaceURI) {
    throw new UnsupportedOperationException();
  }
}

6. Execute the request:

 

    XPathFactory fact = XPathFactory.newInstance();
    XPath xp = fact.newXPath();
    InputSource is = new InputSource(in);
    // set namespace context
    xp.setNamespaceContext(new UrchinNamespaceContext());
    // retrieve list of accounts
    NodeList accounts = (NodeList)xp.evaluate("/tns:getAccountListResponse/account", is, XPathConstants.NODESET);
 

7. Display the response:

 

    System.out.println("adminservice/accounts/");
    for(int i = 0; i < accounts.getLength(); i++){
      System.out.print("account id: \"" + xp.evaluate("accountId/text()", accounts.item(i)) + "\", ");
      System.out.print("account name: \"" + xp.evaluate("accountName/text()", accounts.item(i)) + "\", ");
      System.out.print("contact name: \"" + xp.evaluate("contactName/text()", accounts.item(i)) + "\", ");
      System.out.print("e-mail: \"" + xp.evaluate("emailAddress/text()", accounts.item(i)) + "\", ");
      System.out.println("phone number: \"" + xp.evaluate("phoneNumber/text()", accounts.item(i)) + "\"");
    }
    in.close();

Complete sample code for this example can be found in the AdminService.java file.

(Return to main article: Samples for Java (REST) v1)

 
true
Search
Clear search
Close search
Main menu
9295506252321260051
true
Search Help Center
true
true
true
false
false