Directory API의 users.list()
메서드를 사용하여 특정 속성과 일치하는 사용자를 검색할 수 있습니다. 이 메서드는 하나 이상의 검색 절을 결합한 검색어인 query
매개변수를 허용합니다. 각 검색 절은 다음 세 부분으로 구성됩니다.
- 필드
- 검색되는 사용자 속성입니다. 예를 들면 다음과 같습니다.
givenName
- 운영자
- 일치를 제공하기 위해 데이터에 수행되는 테스트입니다. 예를 들어
:
연산자는 텍스트 속성에 값이 포함되어 있는지 테스트합니다. - 값
- 테스트되는 속성의 내용입니다. 예를 들면 다음과 같습니다.
Jane
쿼리에서 여러 필드를 검색하려면 각 검색 절을 공백으로 구분하여 추가합니다. 작업은 암시적 AND
입니다.
입력란
필드 | 값 유형 | 연산자 | 설명 |
---|---|---|---|
지정되지 않음 | 문자열 | givenName , familyName 또는 email 의 값과 비교합니다. |
|
name |
문자열 | =, : |
givenName 와 familyName 의 연결된 값입니다. |
email |
문자열 | = 님, : 님, :{PREFIX}* 님 |
별칭을 포함한 사용자의 이메일 주소입니다. |
givenName |
문자열 | = 님, : 님, :{PREFIX}* 님 |
사용자의 이름 또는 이름입니다. |
familyName |
문자열 | = 님, : 님, :{PREFIX}* 님 |
사용자의 성 또는 성 |
isAdmin |
boolean | = |
사용자에게 최고 관리자 권한이 있는지 여부 |
isDelegatedAdmin |
boolean | = |
사용자에게 관리자 권한을 위임했는지 여부 |
isSuspended |
boolean | = |
사용자 계정의 정지 여부입니다. |
isArchived |
boolean | = |
사용자 계정의 보관처리 여부 |
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 |
boolean | = |
사용자의 2단계 인증 등록 여부 |
isEnforcedIn2Sv |
boolean | = |
사용자의 2단계 인증 시행 여부 |
schemaName.fieldName |
? | ? | 맞춤 사용자 속성: 스키마 및 필드 이름에서 참조됩니다. 필드에는 indexed 속성이 true 로 설정되어 있어야 합니다. |
값 유형
값 유형 | 동등한 스키마 fieldType | Notes |
---|---|---|
문자열 | STRING , EMAIL , PHONE |
쿼리에 공백이 포함된 경우 ' 작은따옴표로 묶습니다. \' 를 사용하여 쿼리에서 작은따옴표를 이스케이프 처리합니다(예: 'Valentine\'s Day' ). |
boolean | BOOL |
true 또는 false 의 값이 있어야 합니다. = 연산자만 지원합니다. |
숫자 | INT64 , DOUBLE |
소수점 구분 기호로 마침표를 사용해야 하며 천 단위 구분 기호는 사용할 수 없습니다(예: 150430.25 ). |
date | DATE |
YYYY-MM-DD 형식으로 지정됩니다(예: 2001-02-15 ). |
연산자
운영자 | 지원되는 값 유형 | Notes |
---|---|---|
= |
string, boolean, number, date | 필드와 값이 정확히 일치합니다. 예를 들어 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}] |
숫자, 날짜 | 필드가 범위 내에 있습니다. 일치시키려면 필드 값이 {MIN} 이상, {MAX} 보다 작아야 합니다. 이 연산자를 지원하려면 맞춤 번호 속성에서 numericIndexingSpec 를 지정해야 합니다. |
> |
숫자, 날짜 | 입력란이 값보다 큽니다. 이 연산자를 지원하려면 맞춤 번호 속성에서 numericIndexingSpec 를 지정해야 합니다. |
>= |
숫자, 날짜 | 필드가 값보다 크거나 같습니다. 이 연산자를 지원하려면 맞춤 번호 속성에서 numericIndexingSpec 를 지정해야 합니다. |
< |
숫자, 날짜 | 필드가 값보다 작습니다. 이 연산자를 지원하려면 맞춤 번호 속성에서 numericIndexingSpec 를 지정해야 합니다. |
<= |
숫자, 날짜 | 필드가 값보다 작거나 같습니다. 이 연산자를 지원하려면 맞춤 번호 속성에서 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
'Manager'가 포함된 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