사용자 검색

Directory API의 users.list() 메서드를 사용하여 특정 속성과 일치하는 사용자를 검색할 수 있습니다. 이 메서드는 하나 이상의 검색 절을 결합하는 검색 쿼리인 query 매개변수를 허용합니다. 각 검색 절은 다음 세 부분으로 구성됩니다.

필드
검색되는 사용자 속성입니다. 예를 들면 다음과 같습니다. givenName
연산자
일치 항목을 제공하기 위해 데이터에 실행되는
테스트입니다. 예를 들어 : 연산자는 텍스트 속성에 값이 포함되어 있는지 테스트합니다.
테스트되는 속성의 콘텐츠입니다. 예를 들면 다음과 같습니다. Jane

하나의 쿼리에서 여러 필드를 검색하려면 각 검색 절을 공백으로 구분하여 추가합니다. 작업이 암시적 AND입니다.

필드

필드 값 유형 연산자 설명
지정되지 않음 문자열 givenName, familyName, email의 값과 비교합니다.
name 문자열 =, : givenNamefamilyName의 연결된 값입니다.
email 문자열 =, :, :{PREFIX}* 별칭을 포함한 사용자의 이메일 주소입니다.
givenName 문자열 =, :, :{PREFIX}* 사용자의 이름입니다.
familyName 문자열 =, :, :{PREFIX}* 사용자의 성입니다.
isAdmin 부울 = 사용자에게 최고 관리자 권한이 있는지 여부입니다.
isDelegatedAdmin 부울 = 사용자가 관리자 권한을 위임받았는지 여부입니다.
isSuspended 부울 = 사용자 계정의 정지 여부입니다.
isArchived 부울 = 사용자의 계정이 보관처리되었는지 여부입니다.
im 문자열 =, : IM 네트워크 ID입니다.
externalId 문자열 =, : 외부 ID 값입니다.
manager 문자열 = 직접 또는 관리 체인을 통해 사용자의 관리자의 이메일 주소입니다.
managerId 문자열 = 직접 또는 관리 체인을 통해 사용자의 관리자 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=JanegivenName 속성이 "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을 지정해야 합니다.

모든 쿼리는 users.list 메서드를 사용하며, 이 메서드의 HTTP 요청은 다음과 유사합니다 (가독성을 위해 줄바꿈 포함).

GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS

이름으로 사용자 검색

name 쿼리 필드는 givenNamefamilyName의 연결된 값을 테스트합니다. name='Jane'에 대한 쿼리는 givenName='Jane'familyName='Smith'가 있는 사용자에게 결과를 반환하지 않습니다.

name='Jane Smith'

값이 포함된 givenName 또는 familyName가 있는 사용자 검색

name:'Jane'

이메일 접두사와 일치하는 사용자 검색

email:admin*

모든 최고 관리자 검색

isAdmin=true

orgTitles에 'Manager'가 포함된 사용자 검색

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