Directory API의 users.list() 메서드를 사용하여 특정 속성과 일치하는 사용자를 검색할 수 있습니다. 이 메서드는 하나 이상의 검색 절을 결합한 검색 쿼리인 query 매개변수를 허용합니다. 각 검색 조건은 다음 세 부분으로 구성됩니다.
- 필드
 - 검색되는 사용자 속성입니다. 예를 들면 다음과 같습니다. 
givenName - 연산자
 - 데이터에 대해 실행되어 일치를 제공하는 테스트입니다. 예를 들어 
:연산자는 텍스트 속성에 값이 포함되어 있는지 테스트합니다. - 값
 - 테스트되는 속성의 콘텐츠입니다. 예를 들면 다음과 같습니다. 
Jane 
쿼리에서 여러 필드를 검색하려면 각 검색 절을 공백으로 구분하여 추가합니다. 이 작업은 암시적 AND입니다.
필드
| 필드 | 값 유형 | 연산자 | 설명 | 
|---|---|---|---|
| 지정되지 않음 | 문자열 | givenName, familyName, email의 값과 비교합니다. | 
|
name | 
문자열 | =, : | 
givenName 및 familyName의 연결된 값입니다. | 
email | 
문자열 | =, :, :{PREFIX}* | 
사용자의 이메일 주소(별칭 포함) | 
givenName | 
문자열 | =, :, :{PREFIX}* | 
사용자의 이름입니다. | 
familyName | 
문자열 | =, :, :{PREFIX}* | 
사용자의 성입니다. | 
isAdmin | 
부울 | = | 
사용자에게 최고 관리자 권한이 있는지 여부입니다. | 
isDelegatedAdmin | 
부울 | = | 
사용자가 관리자 권한을 위임받았는지 여부입니다. | 
isSuspended | 
부울 | = | 
사용자 계정이 정지되었는지 여부입니다. | 
isArchived | 
부울 | = | 
사용자의 계정이 보관처리되었는지 여부입니다. | 
im | 
문자열 | =, : | 
IM 네트워크 ID입니다. | 
externalId | 
문자열 | =, : | 
외부 ID 값입니다. | 
manager | 
문자열 | = | 
사용자의 관리자 이메일 주소(직접 또는 관리 체인 위)입니다. | 
managerId | 
문자열 | = | 
사용자의 관리자의 ID로, 관리 체인에서 직속 상위 관리자의 ID일 수도 있고 그 위의 관리자의 ID일 수도 있습니다. | 
directManager | 
문자열 | = | 
사용자의 직속 관리자의 이메일 주소입니다. | 
directManagerId | 
문자열 | = | 
사용자의 직속 관리자의 ID입니다. | 
address | 
문자열 | : | 
모든 주소 필드와 일치합니다. | 
addressPoBox | 
문자열 | =, : | 
사서함입니다. | 
addressExtended | 
문자열 | =, : | 
하위 지역을 포함하는 주소와 같은 확장된 주소입니다. | 
addressStreet | 
문자열 | =, : | 
상세 주소입니다. | 
addressLocality | 
문자열 | =, : | 
주소의 마을 또는 도시입니다. | 
addressRegion | 
문자열 | =, : | 
약어로 표시된 도 또는 주입니다. | 
addressPostalCode | 
문자열 | =, : | 
우편번호입니다. | 
addressCountry | 
문자열 | =, : | 
국가입니다. | 
orgName | 
문자열 | =, : | 
조직 이름입니다. | 
orgTitle | 
문자열 | =, : | 
조직 내 사용자의 직함입니다. | 
orgDepartment | 
문자열 | =, : | 
조직 내 부서입니다. | 
orgDescription | 
문자열 | =, : | 
조직 설명입니다. | 
orgCostCenter | 
문자열 | =, : | 
조직의 비용 센터입니다. | 
phone | 
문자열 | = | 
사용자의 전화번호입니다. | 
orgUnitPath | 
문자열 | = | 
조직 단위의 전체 경로입니다. 이는 타겟 아래의 모든 조직 단위 체인과 일치합니다. 예를 들어 'orgUnitPath=/'는 조직의 모든 사용자를 반환합니다. 이 필드는 viewType=admin_view인 경우에만 사용할 수 있습니다. | 
isEnrolledIn2Sv | 
부울 | = | 
사용자가 2단계 인증에 등록되어 있는지 여부입니다. | 
isEnforcedIn2Sv | 
부울 | = | 
사용자에게 2단계 인증이 시행되는지를 나타냅니다. | 
schemaName.fieldName | 
? | ? | 스키마 및 필드 이름으로 참조되는 맞춤 사용자 속성입니다. 필드의 indexed 속성이 true로 설정되어야 합니다. | 
값 유형
| 값 유형 | 등가 스키마 fieldType | 참고 | 
|---|---|---|
| 문자열 | STRING, EMAIL, PHONE | 
쿼리에 공백이 포함된 경우 작은따옴표 '로 묶습니다. 쿼리에서 작은따옴표를 \'로 이스케이프 처리합니다(예: 'Valentine\'s Day'). | 
| 부울 | BOOL | 
값은 true 또는 false여야 합니다. = 연산자만 지원합니다. | 
| 숫자 | INT64, DOUBLE | 
소수점 구분 기호로 마침표를 사용하고 천 단위 구분 기호는 사용하면 안 됩니다(예: 150430.25). | 
| 날짜 | DATE | 
YYYY-MM-DD 형식으로 지정됩니다(예: 2001-02-15). | 
연산자
| 연산자 | 지원되는 값 유형 | 참고 | 
|---|---|---|
= | 
문자열, 불리언, 숫자, 날짜 | 필드와 값이 정확하게 일치합니다. 예를 들어 givenName=Jane는 givenName 속성 "Jane"이 있는 모든 사용자와 일치하지만 "Jane Ann"과는 일치하지 않습니다. 대부분의 문자열 필드에서 지원됩니다 (위 참고). | 
: | 
문자열 | 이 필드에는 값 내의 전체 단어가 순서대로 포함됩니다. 예를 들어 givenName:Jane가 포함된 쿼리는 givenName 값이 "Jane" 및 "Jane Ann"인 사용자와 일치하지만 "Janet"와는 일치하지 않습니다. 'givenName:Mary Ann'에 대한 여러 단어 쿼리는 "Mary Ann Evans" 및 "Sarah Mary Ann" 값과 일치하지만 "Ann Mary" 값과는 일치하지 않습니다. 대부분의 문자열 필드에서 지원됩니다 (위 참고). | 
:{PREFIX}* | 
문자열 | 필드는 값으로 시작합니다. 예를 들어 givenName:Jane*가 포함된 쿼리는 givenName 값이 "Jane", "Jane Ann", "Janet"인 사용자와 일치하지만 "Sarah Jane"와는 일치하지 않습니다. 제한된 문자열 필드에서만 지원됩니다 (위 참고). 맞춤 속성에는 지원되지 않습니다. | 
:[{MIN},{MAX}] | 
number, date | 필드가 범위 내에 있습니다. 일치하려면 필드의 값이 {MIN} 이상이고 {MAX}보다 작아야 합니다. 이 연산자를 지원하려면 맞춤 숫자 속성이 numericIndexingSpec을 지정해야 합니다. | 
> | 
number, date | 필드가 값보다 큽니다. 이 연산자를 지원하려면 맞춤 숫자 속성이 numericIndexingSpec을 지정해야 합니다. | 
>= | 
number, date | 필드가 값보다 크거나 같습니다. 이 연산자를 지원하려면 맞춤 숫자 속성이 numericIndexingSpec을 지정해야 합니다. | 
< | 
number, date | 필드가 값보다 작습니다. 이 연산자를 지원하려면 맞춤 숫자 속성이 numericIndexingSpec을 지정해야 합니다. | 
<= | 
number, date | 필드가 값보다 작거나 같습니다. 이 연산자를 지원하려면 맞춤 숫자 속성이 numericIndexingSpec을 지정해야 합니다. | 
예
모든 쿼리는 다음과 유사한 HTTP 요청이 있는 users.list 메서드를 사용합니다 (가독성을 위해 줄바꿈 포함).
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
이름으로 사용자 검색
name 쿼리 필드는 givenName 및 familyName의 연결된 값을 테스트합니다. name='Jane'에 대한 검색어는 givenName='Jane' 및 familyName='Smith'가 있는 사용자에게 결과를 반환하지 않습니다.
name='Jane Smith'
값이 포함된 givenName 또는 familyName가 있는 사용자 검색
name:'Jane'
이메일 접두사와 일치하는 사용자 검색하기
email:admin*
모든 최고 관리자 검색하기
isAdmin=true
orgTitles에 '관리자'가 포함된 사용자 검색
orgTitle:Manager
보고 체인에 공통 관리자가 있는 사용자 검색하기
manager='janesmith@example.com'
직접 관리자가 동일한 사용자 검색하기
directManager='bobjones@example.com'
특정 국가의 사용자 검색하기
addressCountry='Sweden'
특정 조직의 사용자 검색하기
orgName='Human Resources'
특정 조직의 관리자 검색하기
orgName=Engineering orgTitle:Manager
맞춤 사용자 속성 검색하기
특정 프로젝트에서 근무하는 모든 직원 검색하기
EmploymentData.projects:'GeneGnomes'
특정 위치의 모든 직원 검색하기
EmploymentData.location='Atlanta'
직무 수준 7 이상의 모든 직원 검색하기
EmploymentData.jobLevel>=7
직무 수준이 5 이상 8 미만인 모든 직원 검색
EmploymentData.jobLevel:[5,8]
2단계 인증에 등록된 모든 직원 검색하기
isEnrolledIn2Sv=true
2단계 인증이 적용된 모든 직원 검색하기
isEnforcedIn2Sv=true