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 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ọ 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 là "Jane" và "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" 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ụ: truy vấn có givenName:Jane* sẽ khớp với 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 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 givenName
và familyName
. Truy vấn cho name='Jane'
không trả về kết quả cho người dùng có givenName='Jane'
và 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