Anda dapat menelusuri pengguna yang cocok dengan atribut tertentu menggunakan
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 suatu nilai. - Nilai
- Konten atribut yang diuji. Misalnya,
Jane.
Untuk menelusuri beberapa kolom dalam kueri, tambahkan setiap klausa penelusuran, yang dipisahkan oleh
spasi. Operasi ini 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 panggilan pengguna. |
familyName |
string | =, :, :{PREFIX}* |
Nama keluarga atau nama belakang pengguna. |
isAdmin |
boolean | = |
Apakah pengguna memiliki hak istimewa administrator super. |
isDelegatedAdmin |
boolean | = |
Apakah pengguna memiliki hak istimewa administrator yang didelegasikan. |
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 pengelola pengguna baik secara langsung maupun di atas rantai pengelolaan. |
managerId |
string | = |
ID pengelola pengguna baik secara langsung maupun di rantai pengelolaan. |
directManager |
string | = |
Alamat email manajer langsung pengguna. |
directManagerId |
string | = |
ID pengelola langsung pengguna. |
address |
string | : |
Mencocokkan semua kolom alamat. |
addressPoBox |
string | =, : |
Kotak pos. |
addressExtended |
string | =, : |
Alamat yang diperluas, seperti alamat yang menyertakan sub-wilayah. |
addressStreet |
string | =, : |
Alamat. |
addressLocality |
string | =, : |
Kota alamat. |
addressRegion |
string | =, : |
Provinsi atau negara bagian yang disingkat. |
addressPostalCode |
string | =, : |
Kode ZIP atau kode pos. |
addressCountry |
string | =, : |
Negara. |
orgName |
string | =, : |
Nama organisasi. |
orgTitle |
string | =, : |
Jabatan pengguna 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 organisasi. Ini cocok dengan semua rantai unit organisasi di bawah target. Misalnya, 'orgUnitPath=/' menampilkan semua pengguna di organisasi. Kolom ini hanya dapat digunakan jika 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. Kolom harus memiliki properti indexed yang ditetapkan ke true. |
Jenis Nilai
| Jenis Nilai | Skema fieldType yang setara | Catatan |
|---|---|---|
| string | STRING, EMAIL, PHONE |
Apiti dengan tanda petik tunggal ' jika kueri berisi spasi kosong. Pisahkan 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 tidak ada pemisah ribuan, misalnya 150430.25. |
| tanggal | 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 cocok persis. Misalnya, givenName=Jane cocok dengan semua pengguna yang memiliki atribut givenName "Jane", tetapi tidak dengan "Jane Ann". Didukung di sebagian besar kolom string (lihat di atas). |
: |
string | Kolom berisi seluruh kata dalam nilai, secara berurutan. Misalnya, kueri dengan givenName:Jane cocok dengan pengguna yang memiliki nilai givenName "Jane" dan "Jane Ann", tetapi tidak cocok dengan "Janet". Kueri multi-kata untuk 'givenName:Mary Ann' akan cocok dengan nilai "Mary Ann Evans" dan "Sarah Mary Ann", tetapi tidak cocok dengan "Ann Mary". Didukung di sebagian besar kolom string (lihat di atas). |
:{PREFIX}* |
string | Kolom diawali dengan nilai. Misalnya, kueri dengan givenName:Jane* cocok dengan pengguna yang memiliki nilai givenName "Jane", "Jane Ann", dan "Janet", tetapi tidak cocok dengan "Sarah Jane". Hanya didukung di sejumlah kecil kolom string (lihat di atas). Tidak didukung pada atribut kustom. |
:[{MIN},{MAX}] |
angka, tanggal | Kolom berada dalam rentang. Agar cocok, nilai kolom harus lebih besar dari atau sama dengan {MIN} dan kurang dari {MAX}. Atribut angka kustom harus menentukan numericIndexingSpec untuk mendukung operator ini. |
> |
angka, tanggal | Kolom lebih besar dari nilai. Atribut angka kustom harus menentukan numericIndexingSpec untuk mendukung operator ini. |
>= |
angka, tanggal | Kolom lebih besar dari atau sama dengan nilai. Atribut angka kustom harus menentukan numericIndexingSpec untuk mendukung operator ini. |
< |
angka, tanggal | Kolom kurang dari nilai. Atribut angka kustom harus menentukan numericIndexingSpec untuk mendukung operator ini. |
<= |
angka, tanggal | Kolom kurang dari atau sama dengan nilai. Atribut angka kustom harus menentukan numericIndexingSpec untuk mendukung operator ini. |
Contoh
Semua kueri menggunakan metode users.list, yang memiliki permintaan HTTP yang mirip dengan berikut (pemisah baris disertakan agar mudah dibaca):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Menelusuri 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'
Menelusuri pengguna dengan givenName ATAU familyName yang berisi nilai
name:'Jane'
Menelusuri pengguna yang cocok dengan awalan email
email:admin*
Menelusuri semua administrator super
isAdmin=true
Menelusuri pengguna dengan orgTitles yang berisi "Manager"
orgTitle:Manager
Menelusuri pengguna dengan manajer yang sama dalam hierarki bawah mereka
manager='janesmith@example.com'
Menelusuri pengguna dengan manajer langsung yang sama
directManager='bobjones@example.com'
Menelusuri pengguna di negara tertentu
addressCountry='Sweden'
Menelusuri pengguna di organisasi tertentu
orgName='Human Resources'
Menelusuri pengelola di organisasi tertentu
orgName=Engineering orgTitle:Manager
Menelusuri atribut pengguna kustom
Telusuri semua karyawan yang mengerjakan project tertentu
EmploymentData.projects:'GeneGnomes'
Menelusuri semua karyawan di lokasi tertentu
EmploymentData.location='Atlanta'
Menelusuri semua karyawan dengan tingkat pekerjaan di atas 7
EmploymentData.jobLevel>=7
Menelusuri semua karyawan dengan tingkat pekerjaan yang >= 5 dan < 8
EmploymentData.jobLevel:[5,8]
Menelusuri semua karyawan yang terdaftar di Verifikasi 2 Langkah
isEnrolledIn2Sv=true
Menelusuri semua karyawan yang diwajibkan menggunakan Verifikasi 2 Langkah
isEnforcedIn2Sv=true