This sample code uses Google Service Accounts with PHP to get a list of users in a Google Apps Domain using the Admin Directory API.
To get started, install the Google API PHP library, create a Google Service account with domain-wide delegation and save the private JSON file in the same directory as your PHP application.
require_once __DIR__ . '/vendor/autoload.php'; define('APPLICATION_NAME', 'Service Accounts Tutorial'); define('SCOPES', implode(' ', array( Google_Service_Drive::DRIVE, Google_Service_Gmail::MAIL_GOOGLE_COM, Google_Service_Directory::ADMIN_DIRECTORY_USER_READONLY, Google_Service_People::USERINFO_EMAIL ))); putenv('GOOGLE_APPLICATION_CREDENTIALS=private_key.json'); date_default_timezone_set("Asia/India"); $user = "amit@labnol.org"; $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->setApplicationName(APPLICATION_NAME); $client->setScopes(SCOPES); $client->setAccessType("offline"); $client->setSubject($user); $service = new Google_Service_Directory($client); $optParams = array( 'domain' => 'ctrlq.org', 'maxResults' => 10, 'orderBy' => 'email' ); $results = $service->users->listUsers($optParams); print_r($results); ?>