Tìm người dùng

Bạn có thể tìm kiếm 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 Directory API. Phương thức này chấp nhận tham số query là một truy vấn 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
Kiểm thử được thực hiện trên dữ liệu để cung cấp kết quả so 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 ẩn.

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ị 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ọ hoặc tên gia đình của người dùng.
isAdmin boolean = Liệu người dùng có đặc quyền quản trị viên cấp cao hay không.
isDelegatedAdmin boolean = Liệu người dùng có được uỷ quyền đặc quyền quản trị hay không.
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 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ý trực tiếp hoặc người quản lý cấp trên của người dùng.
managerId chuỗi = Mã của người quản lý của người dùng, trực tiếp hoặc trong 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ộp 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 khu vực.
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ã bưu chính hoặc mã vùng.
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 phòng ban 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. Điều 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ể 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. Trường này phải có thuộc tính indexed được đặt thành true.

Loại giá trị

Loại giá trị fieldType của giản đồ tương đương Ghi chú
chuỗi STRING, EMAIL, PHONE Đặt trong dấu ngoặc đơn ' nếu truy vấn chứa khoảng trắng. Tách dấu ngoặc kép đơn trong 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 Phải sử dụng dấu chấm làm dấu thập phân và không có 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ộ từ trong giá trị, theo thứ tự. Ví dụ: truy vấn có givenName:Jane sẽ khớp với người dùng có giá trị givenName"Jane""Jane Ann", nhưng không khớp với "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" 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ụ: truy vấn có givenName:Jane* sẽ khớp với 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 có giới hạn (xem ở trên). Không được hỗ trợ trên 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 numericIndexingSpec để hỗ trợ toán tử này.
> số, ngày Trường lớn hơn giá trị. 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 lớn hơn hoặc bằng giá trị. 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 nhỏ hơn giá trị. 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 nhỏ hơn hoặc bằng giá trị. 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ó 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 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ả cho 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 một giá trị

name:'Jane'

Tìm người dùng khớp với phần đầu địa chỉ 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ó 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 tất cả nhân viên làm việc trên một dự án cụ thể

EmploymentData.projects:'GeneGnomes'

Tì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ấp công việc 7 trở lên

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ân viên đã được áp dụng tính năng Xác minh 2 bước

isEnforcedIn2Sv=true