2016-08-16 3 views
2

안녕하세요, 로거에서 givenname 사용자를 인쇄하는 this example을 발견했습니다. 전체 사용자 수를 계산하고이를 변수에 저장하려면이를 수정해야합니다. 그게 끝날 수 있니?총 사용자 수 Google Apps 도메인

function listAllUsers() { 
    var pageToken, page; 
    do { 
    page = AdminDirectory.Users.list({ 
     domain: 'example.com', 
     orderBy: 'givenName', 
     maxResults: 100, 
     pageToken: pageToken 
    }); 
    var users = page.users; 
    if (users) { 
     for (var i = 0; i < users.length; i++) { 
     var user = users[i]; 
     Logger.log('%s (%s)', user.name.fullName, user.primaryEmail); 
     } 
    } else { 
     Logger.log('No users found.'); 
    } 
    pageToken = page.nextPageToken; 
    } while (pageToken); 
} 
+2

var numOfUsers = users.length; – user2884707bond

답변

1

모든 API 호출에서 반환 된 모든 사용자의 수를 합산하면됩니다. 수정 된 코드는 다음과 같습니다.

이 코드를 실행하기 전에 리소스> 고급 Google 서비스 ... 및 Google 개발자 콘솔의 Admin SDK API에서 사용할 수있는 관리 디렉토리 API를 사용하도록 설정해야합니다. Here에 자세히 설명되어 있습니다.

Google Apps Script Editor에서이 기능을 실행 한 후 보기> 로그을 확인하십시오. 이 코드는 Google Apps 계정에 최고 관리자 권한을 가진 사용자 만 실행할 수 있습니다.

function getAppsUsersCount() { 
    var numUsers = 0; 
    var pageToken, page; 
    do { 
    page = AdminDirectory.Users.list({ 
     customer : 'my_customer', 
     maxResults: 500, 
     fields : 'nextPageToken,users/id', 
     pageToken: pageToken 
    }); 
    var users = page.users; 
    if(users){  
     numUsers += users.length; 
    } 
    pageToken = page.nextPageToken; 
    } while (pageToken); 
    Logger.log(numUsers); 
    return numUsers; 
}