Tìm người dùng

Bạn có thể tìm kiếm những người dùng có các thuộc tính nhất định bằng phương thức users.list() của Directory API. 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 đều có 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
Kiểm thử đượ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ử : kiểm tra xem một 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 dấu cách. Thao tác này là một AND ngầm.

Trường

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

Loại giá trị

Loại giá trị Sơ đồ tương đương fieldType Ghi chú
chuỗi STRING, EMAIL, PHONE Đặt trong dấu ngoặc đơn ' nếu cụm từ tìm kiếm có chứa khoảng trắng. Thoát dấu nháy đơn trong các truy vấn bằng \', ví dụ: 'Valentine\'s Day'.
boolean BOOL Phải có giá trị là true hoặc false. Chỉ hỗ trợ toán tử =.
số INT64, DOUBLE Bạn phải sử dụng dấu chấm làm dấu phân cách phần thập phân và không được dùng 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ú
= chuỗi, boolean, số, ngày 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).
: chuỗi Trường này chứa toàn bộ các từ trong giá trị theo thứ tự. Ví dụ: một truy vấn có givenName:Jane sẽ khớp với những người dùng có giá trị givenName"Jane""Jane Ann", nhưng không khớp với "Janet". Một truy vấn có nhiều từ cho 'givenName:Mary Ann' sẽ khớp với các giá trị "Mary Ann Evans""Sarah Mary Ann" nhưng không khớp với "Ann Mary". Được hỗ trợ trên hầu hết các trường chuỗi (xem ở trên).
:{PREFIX}* chuỗi Trường bắt đầu bằng giá trị. Ví dụ: một truy vấn có givenName:Jane* sẽ khớp với những 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 (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}. Thuộc tính số tuỳ chỉnh phải chỉ định một numericIndexingSpec để hỗ trợ toán tử này.
> số, ngày Trường này lớn hơn giá trị. Thuộc tính số tuỳ chỉnh phải chỉ định một 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ị. Thuộc tính số tuỳ chỉnh phải chỉ định một numericIndexingSpec để hỗ trợ toán tử này.
< số, ngày Trường này nhỏ hơn giá trị. Thuộc tính số tuỳ chỉnh phải chỉ định một numericIndexingSpec để hỗ trợ toán tử này.
<= số, ngày Trường nhỏ hơn hoặc bằng giá trị. Thuộc tính số tuỳ chỉnh phải chỉ định một numericIndexingSpec để hỗ trợ toán tử này.

Ví dụ

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

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

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

Trường truy vấn name kiểm tra giá trị được nối của givenNamefamilyName. Một cụm từ tìm kiếm về name='Jane' không trả về kết quả nào cho người dùng có givenName='Jane'familyName='Smith'.

name='Jane Smith'

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

name:'Jane'

Tìm kiếm những người dùng có phần đầu địa chỉ email trùng khớp

email:admin*

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

isAdmin=true

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

orgTitle:Manager

Tìm kiếm những người dùng có cùng người quản lý trong chuỗi báo cáo

manager='janesmith@example.com'

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

directManager='bobjones@example.com'

Tìm kiế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 tất cả nhân viên làm việc trong 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 kiếm tất cả nhân viên có cấp bậc công việc từ 7 trở lên

EmploymentData.jobLevel>=7

Tìm tất cả nhân viên có cấp bậc công việc >= 5 và < 8

EmploymentData.jobLevel:[5,8]

Tìm kiếm tất cả nhân viên đã đăng ký quy trình Xác minh 2 bước

isEnrolledIn2Sv=true

Tìm kiếm tất cả nhân viên đã bật tính năng Xác minh 2 bước

isEnforcedIn2Sv=true