Unfortunate Google Contacts API does not work with the new Javascript Client Library.  It only works with GData Client Library.  I tried working GData Client Library, but it is difficult as you get warnings in the documentation at every juncture that the library has been deprecated.
Therefore, I used a hydrid, 
- using the new Client Library, to get an authentication.
- Use a URL to get the contacts
Unfortunately, because of cross domain restrictions you need to use JSONP, otherwise the browser fails.
 <script src="https://apis.google.com/js/client.js"></script>
.....
function contactsInit() {
  var clientId = 'YOURCLIENTID.apps.googleusercontent.com';
  var scopes = 'https://www.google.com/m8/feeds';
  gapi.auth.authorize({
    client_id: clientId, scope: scopes, immediate: false}, 
     handleAuthResult);
 function handleAuthResult(authResult) {
 if (authResult && !authResult.error) {
   var url = 
    "https://www.google.com/m8/feeds/contacts/default/" + 
    "full?alt=json-in-script&access_token=" + 
    authResult.access_token + 
    "&max-results=7000&v=3.0";
   var myJSONP = new Request.JSONP({
      url: url,
      callbackKey: 'jsoncallback',
      data: {
            },
      onRequest: function(url){
                // a script tag is created with a src equal to url
          },
      onComplete: function(data){
                // the request was completed.
            }
      }).send();
    }
 }
}
function Skeleton() {}
  if (!gdata) {
    var gdata = new Skeleton();
    gdata.io  = new Skeleton();
    gdata.io.handleScriptLoaded = function(data)    {
      processContacts(data);
  }
}
Notes:
I use Mootools for JSONP but you could also use jquery or vanilla js with  How to make a JSONP request from Javascript without JQuery?
You need to provide your own YOURCLIENTID, and define the processContacts function.
The gdata.io.handleScriptLoaded(data) is necessary since this what the url expects during callback.
I use a limit of 7000, but I don't think it is necessary.
If you don't want to use JSONP you could forward the access_token to your webserver, and process the URL there, e.g. with cURL or with Node.js just replace json-in-script with json.
In  json-in-script is important on a browser since otherwise the browser croaks.
Thanks to the other answers on this page, that pointed me in the right direction.  
I hope that Google will make the Contacts API capable with the new Javascript Client Library.  I hope that others will other be able to use this solution in the meantime.