Anda dapat mencari pengguna yang cocok dengan atribut tertentu dengan metode users.list()
dari Directory API. Metode ini menerima parameter query
yang merupakan kueri
penelusuran yang menggabungkan satu atau beberapa klausa penelusuran. Setiap klausa penelusuran terdiri dari 3 bagian:
- Kolom
- Atribut pengguna yang ditelusuri. Misalnya,
givenName
. - Operator
- Pengujian yang dilakukan pada data untuk memberikan kecocokan. Misalnya, operator
:
menguji apakah atribut teks berisi nilai. - Nilai
- Konten atribut yang diuji. Misalnya,
Jane
.
Untuk menelusuri beberapa kolom dalam sebuah kueri, tambahkan setiap klausa penelusuran, yang dipisahkan oleh spasi. Operasinya adalah AND
implisit.
Kolom
Kolom | Jenis Nilai | Operator | Deskripsi |
---|---|---|---|
Tidak satu pun ditetapkan | string | Bandingkan dengan nilai di givenName , familyName , atau email . |
|
name |
string | =, : |
Nilai gabungan givenName dan familyName . |
email |
string | = , : , :{PREFIX}* |
Alamat email pengguna, termasuk alias. |
givenName |
string | = , : , :{PREFIX}* |
Nama depan atau nama depan pengguna. |
familyName |
string | = , : , :{PREFIX}* |
Nama belakang atau nama belakang pengguna. |
isAdmin |
boolean | = |
Apakah pengguna memiliki hak istimewa administrator super. |
isDelegatedAdmin |
boolean | = |
Apakah pengguna telah mendelegasikan hak istimewa administrator. |
isSuspended |
boolean | = |
Apakah akun pengguna ditangguhkan. |
isArchived |
boolean | = |
Apakah akun pengguna diarsipkan. |
im |
string | =, : |
ID jaringan IM. |
externalId |
string | =, : |
Nilai ID eksternal. |
manager |
string | = |
Alamat email manajer pengguna, baik secara langsung maupun di rantai pengelolaan. |
managerId |
string | = |
ID manajer pengguna baik secara langsung maupun di rantai pengelolaan. |
directManager |
string | = |
Alamat email pengelola langsung pengguna. |
directManagerId |
string | = |
ID pengelola langsung pengguna. |
address |
string | : |
Cocok dengan semua kolom alamat. |
addressPoBox |
string | =, : |
Kotak pos. |
addressExtended |
string | =, : |
Alamat yang diperluas, seperti alamat yang menyertakan sub-wilayah. |
addressStreet |
string | =, : |
Alamat. |
addressLocality |
string | =, : |
Kota di alamat. |
addressRegion |
string | =, : |
Provinsi atau negara bagian yang disingkat. |
addressPostalCode |
string | =, : |
Kode pos. |
addressCountry |
string | =, : |
Negara. |
orgName |
string | =, : |
Nama organisasi. |
orgTitle |
string | =, : |
Jabatan pengguna di dalam organisasi. |
orgDepartment |
string | =, : |
Departemen dalam organisasi. |
orgDescription |
string | =, : |
Deskripsi organisasi. |
orgCostCenter |
string | =, : |
Pusat biaya organisasi. |
phone |
string | = |
Nomor telepon pengguna. |
orgUnitPath |
string | = |
Jalur lengkap unit org. Ini cocok dengan semua rantai unit org yang berada di bawah target. Misalnya, 'orgUnitPath=/' menampilkan semua pengguna di organisasi. Kolom ini hanya dapat digunakan saat viewType=admin_view . |
isEnrolledIn2Sv |
boolean | = |
Apakah pengguna terdaftar dalam Verifikasi 2 Langkah. |
isEnforcedIn2Sv |
boolean | = |
Apakah Verifikasi 2 Langkah diterapkan untuk pengguna. |
schemaName.fieldName |
? | ? | Atribut pengguna kustom, yang dirujuk oleh skema dan nama kolomnya. Properti indexed pada kolom harus ditetapkan ke true . |
Jenis Nilai
Jenis Nilai | Skema yang Setara fieldType | Catatan |
---|---|---|
string | STRING , EMAIL , PHONE |
Mengapit dengan tanda kutip tunggal ' jika kueri berisi spasi kosong. Hapus tanda kutip tunggal dalam kueri dengan \' , misalnya 'Valentine\'s Day' . |
boolean | BOOL |
Harus memiliki nilai true atau false . Hanya mendukung operator = . |
angka | INT64 , DOUBLE |
Harus menggunakan titik sebagai pemisah desimal dan bukan pemisah ribuan, misalnya 150430.25 . |
date | DATE |
Ditentukan dalam format YYYY-MM-DD, misalnya 2001-02-15 . |
Operator
Operator | Jenis Nilai yang Didukung | Catatan |
---|---|---|
= |
string, boolean, number, date | Kolom dan nilai sama persis. Misalnya, givenName=Jane cocok dengan semua pengguna dengan atribut givenName "Jane" , tetapi tidak cocok dengan "Jane Ann" . Didukung pada sebagian besar kolom string (lihat di atas). |
: |
string | Kolom ini berisi seluruh kata dalam nilai, secara berurutan. Misalnya, kueri dengan givenName:Jane cocok dengan pengguna dengan nilai givenName "Jane" dan "Jane Ann" , tetapi tidak cocok dengan "Janet" . Kueri beberapa kata untuk 'givenName:Mary Ann' akan cocok dengan nilai "Mary Ann Evans" dan "Sarah Mary Ann" , tetapi tidak cocok dengan "Ann Mary" . Didukung pada sebagian besar kolom string (lihat di atas). |
:{PREFIX}* |
string | Kolom ini diawali dengan nilai. Misalnya, kueri dengan givenName:Jane* cocok dengan pengguna dengan nilai givenName "Jane" , "Jane Ann" , dan "Janet" , tetapi tidak cocok dengan "Sarah Jane" . Hanya didukung pada kumpulan kolom string yang terbatas (lihat di atas). Tidak didukung pada atribut khusus. |
:[{MIN},{MAX}] |
angka, tanggal | Kolom ini berada dalam rentang. Untuk mencocokkan, nilai kolom harus lebih dari atau sama dengan {MIN} dan kurang dari {MAX} . Atribut angka khusus harus menentukan numericIndexingSpec agar dapat mendukung operator ini. |
> |
angka, tanggal | Kolom ini lebih besar dari nilai. Atribut angka khusus harus menentukan numericIndexingSpec agar dapat mendukung operator ini. |
>= |
angka, tanggal | Kolom lebih besar dari atau sama dengan nilai. Atribut angka khusus harus menentukan numericIndexingSpec agar dapat mendukung operator ini. |
< |
angka, tanggal | Kolom ini kurang dari nilai. Atribut angka khusus harus menentukan numericIndexingSpec agar dapat mendukung operator ini. |
<= |
angka, tanggal | Kolom kurang dari atau sama dengan nilai. Atribut angka khusus harus menentukan numericIndexingSpec agar dapat mendukung operator ini. |
Contoh
Semua kueri menggunakan metode users.list
, yang memiliki permintaan HTTP yang mirip dengan berikut ini (baris baru disertakan agar mudah dibaca):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Telusuri pengguna berdasarkan nama
Kolom kueri name
menguji nilai gabungan givenName
dan familyName
. Kueri untuk name='Jane'
tidak menampilkan hasil untuk pengguna dengan givenName='Jane'
dan familyName='Smith'
.
name='Jane Smith'
Telusuri pengguna dengan givenName
ATAU familyName
yang berisi nilai
name:'Jane'
Menelusuri pengguna yang cocok dengan awalan email
email:admin*
Telusuri semua administrator super
isAdmin=true
Telusuri pengguna dengan orgTitles
yang berisi "Pengelola"
orgTitle:Manager
Menelusuri pengguna yang memiliki manajer umum dalam rantai pelaporan mereka
manager='janesmith@example.com'
Menelusuri pengguna dengan pengelola langsung yang sama
directManager='bobjones@example.com'
Menelusuri pengguna di negara tertentu
addressCountry='Sweden'
Menelusuri pengguna di organisasi tertentu
orgName='Human Resources'
Menelusuri manajer di organisasi tertentu
orgName=Engineering orgTitle:Manager
Telusuri atribut pengguna khusus
Menelusuri semua karyawan yang mengerjakan project tertentu
EmploymentData.projects:'GeneGnomes'
Menelusuri semua karyawan di lokasi tertentu
EmploymentData.location='Atlanta'
Menelusuri semua karyawan di atas tingkat pekerjaan 7
EmploymentData.jobLevel>=7
Telusuri semua karyawan dengan tingkat pekerjaan >= 5 dan < 8
EmploymentData.jobLevel:[5,8]
Telusuri semua karyawan yang terdaftar di vVerification 2 Langkah
isEnrolledIn2Sv=true
Menelusuri semua karyawan yang menerapkan Verifikasi 2 Langkah
isEnforcedIn2Sv=true