I\'m trying to use googleapi 2.0 with service account to use Directory gooogle admin sdk on user on an entrprise domain. I\'ve proceeded as suggested (this for instance) and pre
Take a look at Google's docs on using service accounts with Admin SDK for domain-wide delegation.
You didn't mention it, but you definitely need to grant the service account's client id access to the Admin SDK scopes from your Google Apps Control Panel.
Your code is missing a line like .setServiceAccountUser(userEmail)
which allows the service account to impersonate a user in your Google Apps domain who has rights to search the directory (probably a super admin user).