Sample code for 30+ languages & platforms
Java

Retrieve a Single Contact

See more Google APIs Examples

Demonstrates how to retrieve a single contact (by contactId) for the Google Contacts API.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.AuthGoogle;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.Rest;
import com.chilkatsoft.chilkat2.StringBuilder;
import com.chilkatsoft.chilkat2.Xml;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // --------------------------------------------------------------------------------------------------------
        // Note: The code for setting up the Chilkat REST object and making the initial connection can be done once.
        // Once connected, the REST object may be re-used for many REST API calls.
        // (It's a good idea to put the connection setup code in a separate function/subroutine.)
        // --------------------------------------------------------------------------------------------------------

        // It is assumed we previously obtained an OAuth2 access token.
        // This example loads the JSON access token file
        // saved by this example: Get Google Contacts OAuth2 Access Token

        JsonObject jsonToken = new JsonObject();
        try {
            jsonToken.loadFile("qa_data/tokens/googleContacts.json");
        } catch (ChilkatException e) {
            System.out.println("Failed to load googleContacts.json");
            return;
        }

        AuthGoogle gAuth = new AuthGoogle();
        gAuth.setAccessToken(jsonToken.stringOf("access_token"));

        Rest rest = new Rest();

        // Connect using TLS.
        boolean bAutoReconnect = true;
        rest.connect("www.google.com", 443, true, bAutoReconnect);

        // Provide the authentication credentials (i.e. the access token)
        rest.setAuthGoogle(gAuth);

        // ----------------------------------------------
        // OK, the REST connection setup is completed..
        // ----------------------------------------------

        // To retrieve the contact, send the following:

        //     GET /m8/feeds/contacts/default/full/{contactId}
        //     GData-Version: 3.0

        rest.addHeader("GData-Version", "3.0");

        StringBuilder sbPath = new StringBuilder();
        sbPath.append("/m8/feeds/contacts/default/full/{contactId}");
        // Get the contact having contactId = "7b1c7b6409e718a0"
        int numReplacements = sbPath.replace("{contactId}", "7b1c7b6409e718a0");

        StringBuilder sbResponseBody = new StringBuilder();
        try {
            rest.fullRequestNoBodySb("GET", sbPath.getAsString(), sbResponseBody);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // A successful response will have a status code equal to 200.
        if (rest.getResponseStatusCode() != 200) {
            System.out.println("response status code = " + rest.getResponseStatusCode());
            System.out.println("response status text = " + rest.getResponseStatusText());
            System.out.println("response header: " + rest.getResponseHeader());
            System.out.println("response body: " + sbResponseBody.getAsString());
            return;
        }

        // If the 200 response was received, then the contacts XML is contained
        // in the response body.
        Xml xml = new Xml();
        xml.loadSb(sbResponseBody, false);

        // See below for a sample response body.
        xml.saveXml("qa_output/google_contact.xml");

        // Now let's parse the XML...
        System.out.println("title: " + xml.getChildContent("title"));

        String emailAddress;
        try {
            emailAddress = xml.chilkatPath("gd:email|(address)");
        } catch (ChilkatException e) {
            emailAddress = null;
        }
        if (emailAddress != null) {
            System.out.println("email address: " + emailAddress);
        }

        // The response body XML looks something like this:

        //     <?xml version="1.0" encoding="UTF-8" ?>
        //     <entry gd:etag="&quot;R3kzezVSLit7I2A9XRFaFE8DQAU.&quot;" xmlns="http://www.w3.org/2005/Atom" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gContact="http://schemas.google.com/contact/2008" xmlns:gd="http://schemas.google.com/g/2005">
        //         <id>http://www.google.com/m8/feeds/contacts/support%40chilkatcloud.com/base/7b1c7b6409e718a0</id>
        //         <updated>2016-11-18T00:41:56.783Z</updated>
        //         <app:edited xmlns:app="http://www.w3.org/2007/app">2016-11-18T00:41:56.783Z</app:edited>
        //         <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact" />
        //         <title>Chilkat Cloud</title>
        //         <link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="https://www.googleapis.com/m8/feeds/photos/media/support%40chilkatcloud.com/7b1c7b6409e718a0" gd:etag="&quot;fgVhPls4Sit7I2BWHUlTWkQMKHUZKHkkaiw.&quot;" />
        //         <link rel="self" type="application/atom+xml" href="https://www.googleapis.com/m8/feeds/contacts/support%40chilkatcloud.com/full/7b1c7b6409e718a0" />
        //         <link rel="edit" type="application/atom+xml" href="https://www.googleapis.com/m8/feeds/contacts/support%40chilkatcloud.com/full/7b1c7b6409e718a0" />
        //         <gd:name>
        //             <gd:fullName>Chilkat Cloud</gd:fullName>
        //             <gd:givenName>Chilkat</gd:givenName>
        //             <gd:familyName>Cloud</gd:familyName>
        //         </gd:name>
        //         <gd:email rel="http://schemas.google.com/g/2005#other" address="support@chilkatcloud.com" primary="true" />
        //         <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/support%40chilkatcloud.com/base/6" />
        //     </entry>
    }
}