Tìm người dùng

Bạn có thể tìm kiếm những người dùng khớp với một số thuộc tính nhất định bằng phương thức users.list() của API Thư mục. Phương thức này chấp nhận tham số query. Đây là một cụm từ tìm kiếm kết hợp một hoặc nhiều mệnh đề tìm kiếm. Mỗi mệnh đề tìm kiếm bao gồm 3 phần:

Trường
Thuộc tính người dùng được tìm kiếm. Ví dụ: givenName.
Đơn vị tổ chức
Các thử nghiệm được thực hiện trên dữ liệu để cung cấp kết quả trùng khớp. Ví dụ: toán tử : sẽ kiểm tra xem thuộc tính văn bản có chứa một giá trị hay không.
Giá trị
Nội dung của thuộc tính được kiểm thử. Ví dụ: Jane.

Để tìm kiếm nhiều trường trong một truy vấn, hãy thêm từng mệnh đề tìm kiếm, phân tách bằng một dấu cách. Thao tác này là một AND ngầm ẩn.

Trường

Trường Loại giá trị Toán tử Nội dung mô tả
Không có người bán nào được chỉ định string So sánh với giá trị trong givenName, familyName hoặc email.
name string =, : Giá trị nối của givenNamefamilyName.
email string =, :, :{PREFIX}* Địa chỉ email của người dùng, bao gồm cả email đại diện.
givenName string =, :, :{PREFIX}* Tên hoặc tên của người dùng.
familyName string =, :, :{PREFIX}* Họ của người dùng.
isAdmin boolean = Liệu người dùng có đặc quyền của quản trị viên cấp cao hay không.
isDelegatedAdmin boolean = Liệu người dùng đã chỉ định các đặc quyền của quản trị viên hay chưa.
isSuspended boolean = Liệu tài khoản của người dùng có bị tạm ngưng hay không.
isArchived boolean = Liệu tài khoản của người dùng có được lưu trữ hay không.
im string =, : Mã mạng nhắn tin nhanh.
externalId string =, : Giá trị mã nhận dạng bên ngoài.
manager string = Địa chỉ email của người quản lý người dùng trực tiếp hoặc cấp trên trong chuỗi quản lý.
managerId string = Mã người quản lý của người dùng trực tiếp hoặc cấp trên trong chuỗi quản lý.
directManager string = Địa chỉ email của người quản lý trực tiếp của người dùng.
directManagerId string = Mã người quản lý trực tiếp của người dùng.
address string : Khớp với tất cả các trường địa chỉ.
addressPoBox string =, : Một hộp thư bưu điện.
addressExtended string =, : Địa chỉ mở rộng, chẳng hạn như địa chỉ có cả tiểu vùng.
addressStreet string =, : Địa chỉ đường phố.
addressLocality string =, : Thị trấn hoặc thành phố có địa chỉ.
addressRegion string =, : Tỉnh hoặc tiểu bang viết tắt.
addressPostalCode string =, : Mã ZIP hoặc mã bưu chính.
addressCountry string =, : Quốc gia.
orgName string =, : Tên tổ chức.
orgTitle string =, : Chức danh của người dùng trong tổ chức.
orgDepartment string =, : Một phòng ban trong tổ chức.
orgDescription string =, : Nội dung mô tả về một tổ chức.
orgCostCenter string =, : Trung tâm chi phí của một tổ chức.
phone string = Số điện thoại của người dùng.
orgUnitPath string = Đường dẫn đầy đủ của một đơn vị tổ chức. Yêu cầu này khớp với tất cả chuỗi đơn vị tổ chức thuộc mục tiêu. Ví dụ: 'orgUnitPath=/' trả về tất cả người dùng trong tổ chức. Bạn chỉ có thể sử dụng trường này khi viewType=admin_view.
isEnrolledIn2Sv boolean = Liệu người dùng có đăng ký tính năng Xác minh 2 bước hay không.
isEnforcedIn2Sv boolean = Liệu tính năng Xác minh 2 bước có được thực thi cho người dùng hay không.
schemaName.fieldName ? ? Thuộc tính người dùng tuỳ chỉnh được tham chiếu theo giản đồ và tên trường. Thuộc tính indexed của trường phải được đặt thành true.

Loại giá trị

Loại giá trị fieldType của giản đồ tương đương Ghi chú
string STRING, EMAIL, PHONE Bao quanh bằng dấu ngoặc đơn ' nếu truy vấn có chứa khoảng trắng. Thoát dấu ngoặc đơn trong truy vấn bằng \', ví dụ: 'Valentine\'s Day'.
boolean BOOL Phải có giá trị true hoặc false. Chỉ hỗ trợ toán tử =.
number INT64, DOUBLE Phải sử dụng dấu chấm làm dấu thập phân và không phải là dấu phân cách hàng nghìn, ví dụ: 150430.25.
date DATE Được chỉ định theo định dạng YYYY-MM-DD, ví dụ: 2001-02-15.

Toán tử

Đơn vị tổ chức Các loại giá trị được hỗ trợ Ghi chú
= string, boolean, number, date Trường và giá trị khớp chính xác. Ví dụ: givenName=Jane khớp với tất cả người dùng có thuộc tính givenName "Jane", nhưng không khớp với "Jane Ann". Được hỗ trợ trên hầu hết các trường chuỗi (xem ở trên).
: string Trường này chứa toàn bộ từ trong giá trị theo thứ tự. Ví dụ: truy vấn có givenName:Jane sẽ so khớp người dùng có giá trị givenName"Jane""Jane Ann", nhưng không so khớp "Janet". Truy vấn nhiều từ cho 'givenName:Mary Ann' sẽ khớp với các giá trị của "Mary Ann Evans""Sarah Mary Ann" chứ không khớp với các giá trị "Ann Mary". Được hỗ trợ trên hầu hết các trường chuỗi (xem ở trên).
:{PREFIX}* string Trường này bắt đầu bằng giá trị. Ví dụ: truy vấn có givenName:Jane* sẽ so khớp người dùng có giá trị givenName"Jane", "Jane Ann""Janet" nhưng không khớp với "Sarah Jane". Chỉ được hỗ trợ trên một số trường chuỗi giới hạn (xem ở trên). Không được hỗ trợ trên các thuộc tính tuỳ chỉnh.
:[{MIN},{MAX}] số, ngày Trường nằm trong một phạm vi. Để khớp, giá trị của trường phải lớn hơn hoặc bằng {MIN} và nhỏ hơn {MAX}. Các thuộc tính số tuỳ chỉnh phải chỉ định numericIndexingSpec để hỗ trợ toán tử này.
> số, ngày Trường này lớn hơn giá trị. Các thuộc tính số tuỳ chỉnh phải chỉ định numericIndexingSpec để hỗ trợ toán tử này.
>= số, ngày Trường này lớn hơn hoặc bằng giá trị. Các thuộc tính số tuỳ chỉnh phải chỉ định numericIndexingSpec để hỗ trợ toán tử này.
< số, ngày Trường này nhỏ hơn giá trị. Các thuộc tính số tuỳ chỉnh phải chỉ định numericIndexingSpec để hỗ trợ toán tử này.
<= số, ngày Trường này nhỏ hơn hoặc bằng giá trị. Các thuộc tính số tuỳ chỉnh phải chỉ định numericIndexingSpec để hỗ trợ toán tử này.

Ví dụ

Tất cả truy vấn đều sử dụng phương thức users.list. Phương thức này có yêu cầu HTTP tương tự như sau (có phần ngắt dòng để dễ đọc):

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

Tìm người dùng theo tên

Trường truy vấn name kiểm thử trên giá trị nối của givenNamefamilyName. Truy vấn cho name='Jane' không trả về kết quả nào đối với người dùng có givenName='Jane'familyName='Smith'.

name='Jane Smith'

Tìm người dùng có givenName HOẶC familyName chứa giá trị

name:'Jane'

Tìm người dùng khớp với một tiền tố email

email:admin*

Tìm kiếm tất cả quản trị viên cấp cao

isAdmin=true

Tìm người dùng có orgTitles chứa "Người quản lý"

orgTitle:Manager

Tìm người dùng có một người quản lý chung trong chuỗi báo cáo

manager='janesmith@example.com'

Tìm người dùng có cùng người quản lý trực tiếp

directManager='bobjones@example.com'

Tìm người dùng ở một quốc gia cụ thể

addressCountry='Sweden'

Tìm người dùng trong một tổ chức cụ thể

orgName='Human Resources'

Tìm người quản lý trong một tổ chức cụ thể

orgName=Engineering orgTitle:Manager

Tìm kiếm thuộc tính người dùng tuỳ chỉnh

Tìm kiếm tất cả nhân viên đang thực hiện một dự án cụ thể

EmploymentData.projects:'GeneGnomes'

Tìm kiếm tất cả nhân viên ở một vị trí cụ thể

EmploymentData.location='Atlanta'

Tìm tất cả nhân viên trên cấp độ công việc 7

EmploymentData.jobLevel>=7

Tìm tất cả nhân viên có cấp độ công việc từ 5 đến < 8

EmploymentData.jobLevel:[5,8]

Tìm tất cả nhân viên đã đăng ký sử dụng tính năng Xác minh 2 bước

isEnrolledIn2Sv=true

Tìm tất cả những nhân viên đã thực thi tính năng Xác minh 2 bước

isEnforcedIn2Sv=true