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 givenName và familyName. |
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 là "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 là "Jane" và "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" và "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 là "Jane", "Jane Ann" và "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 givenName và familyName. 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' và 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