Directory API'nin users.list() yöntemiyle belirli özelliklere uyan kullanıcıları arayabilirsiniz. Bu yöntem, bir veya daha fazla arama ifadesini birleştiren bir arama sorgusu olan query parametresini kabul eder. Her arama ifadesi üç bölümden oluşur:
- Alan
- Aranan kullanıcı özelliği. Örneğin,
givenName. - Operatör
- Eşleşme sağlamak için veriler üzerinde gerçekleştirilen test. Örneğin,
:operatörü, bir metin özelliğinin bir değer içerip içermediğini test eder. - Değer
- Test edilen özelliğin içeriği. Örneğin,
Jane.
Bir sorguda birden çok alanda arama yapmak için her arama ifadesini boşlukla ayırarak ekleyin. İşlem, örtülü bir AND.
Alanlar
| Alan | Değer Türü | Operatörler | Açıklama |
|---|---|---|---|
| Belirtilmedi | dize | givenName, familyName veya email sütunundaki değerle karşılaştırın. |
|
name |
dize | =, : |
givenName ve familyName değerlerinin birleştirilmiş hali. |
email |
dize | =, :, :{PREFIX}* |
Takma adlar da dahil olmak üzere kullanıcının e-posta adresleri. |
givenName |
dize | =, :, :{PREFIX}* |
Kullanıcının adı. |
familyName |
dize | =, :, :{PREFIX}* |
Kullanıcının soyadı. |
isAdmin |
boolean | = |
Bir kullanıcının süper yönetici ayrıcalıklarına sahip olup olmadığı |
isDelegatedAdmin |
boolean | = |
Kullanıcının yetki verilmiş yönetici ayrıcalıklarına sahip olup olmadığı |
isSuspended |
boolean | = |
Kullanıcı hesabının askıya alınıp alınmadığı |
isArchived |
boolean | = |
Kullanıcının hesabının arşivlenip arşivlenmediği |
im |
dize | =, : |
IM ağ kimliği. |
externalId |
dize | =, : |
Harici kimlik değeri. |
manager |
dize | = |
Kullanıcının yöneticisinin e-posta adresi (doğrudan veya yönetim zinciri üzerinden). |
managerId |
dize | = |
Kullanıcının doğrudan veya yönetim zinciri üzerinden yöneticisinin kimliği. |
directManager |
dize | = |
Kullanıcının doğrudan yöneticisinin e-posta adresi. |
directManagerId |
dize | = |
Kullanıcının doğrudan yöneticisinin kimliği. |
address |
dize | : |
Tüm adres alanlarıyla eşleşir. |
addressPoBox |
dize | =, : |
Posta kutusu. |
addressExtended |
dize | =, : |
Alt bölge içeren adresler gibi genişletilmiş adresler. |
addressStreet |
dize | =, : |
Açık adrestir. |
addressLocality |
dize | =, : |
Adresin bulunduğu kasaba veya şehir. |
addressRegion |
dize | =, : |
Kısaltılmış bir il veya eyalet. |
addressPostalCode |
dize | =, : |
Posta kodu. |
addressCountry |
dize | =, : |
Bir ülke. |
orgName |
dize | =, : |
Kuruluş adı |
orgTitle |
dize | =, : |
Kullanıcının kuruluştaki unvanı. |
orgDepartment |
dize | =, : |
Kuruluş içindeki bir departman. |
orgDescription |
dize | =, : |
Kuruluşun açıklaması. |
orgCostCenter |
dize | =, : |
Bir kuruluşun maliyet merkezi. |
phone |
dize | = |
Kullanıcının telefon numarası. |
orgUnitPath |
dize | = |
Kuruluş biriminin tam yolu. Bu, hedef altındaki tüm kuruluş birimi zincirleriyle eşleşir. Örneğin, 'orgUnitPath=/', kuruluştaki tüm kullanıcıları döndürür. Bu alan yalnızca viewType=admin_view olduğunda kullanılabilir. |
isEnrolledIn2Sv |
boolean | = |
Kullanıcının 2 Adımlı Doğrulama'ya kaydolup kaydolmadığı |
isEnforcedIn2Sv |
boolean | = |
Kullanıcı için 2 Adımlı Doğrulama'nın zorunlu kılınıp kılınmadığı. |
schemaName.fieldName |
? | ? | Şema ve alan adıyla referans verilen bir özel kullanıcı özelliği. Alan, indexed özelliğini true olarak ayarlamalıdır. |
Değer Türleri
| Değer Türü | Eşdeğer Şema fieldType | Notlar |
|---|---|---|
| dize | STRING, EMAIL, PHONE |
Sorgu boşluk içeriyorsa tek tırnak ' içine alın. Sorgularda tek tırnak işaretlerini \' ile kaçırın. Örneğin, 'Valentine\'s Day'. |
| boolean | BOOL |
true veya false değerine sahip olmalıdır. Yalnızca = operatörünü destekler. |
| sayı | INT64, DOUBLE |
Ondalık ayırıcı olarak nokta kullanılmalı ve binlik ayırıcı kullanılmamalıdır (ör. 150430.25). |
| tarih | DATE |
YYYY-AA-GG biçiminde belirtilir. Örneğin, 2001-02-15. |
Operatörler
| Operatör | Desteklenen değer türleri | Notlar |
|---|---|---|
= |
dize, boole, sayı, tarih | Alan ve değer tam olarak eşleşir. Örneğin, givenName=Jane, givenName özelliği "Jane" olan tüm kullanıcılarla eşleşir ancak "Jane Ann" ile eşleşmez. Çoğu dize alanında desteklenir (yukarıya bakın). |
: |
dize | Alan, değerin içindeki tüm kelimeleri sırayla içerir. Örneğin, givenName:Jane içeren bir sorgu, givenName değerleri "Jane" ve "Jane Ann" olan kullanıcılarla eşleşir ancak "Janet" olan kullanıcılarla eşleşmez. 'givenName:Mary Ann' için çok kelimeli bir sorgu, "Mary Ann Evans" ve "Sarah Mary Ann" değerleriyle eşleşir ancak "Ann Mary" ile eşleşmez. Çoğu dize alanında desteklenir (yukarıya bakın). |
:{PREFIX}* |
dize | Alan, değerle başlıyor. Örneğin, givenName:Jane* içeren bir sorgu, givenName değerleri "Jane", "Jane Ann" ve "Janet" olan kullanıcılarla eşleşir ancak "Sarah Jane" olanlarla eşleşmez. Yalnızca sınırlı bir dize alanında desteklenir (yukarıya bakın). Özel özelliklerde desteklenmez. |
:[{MIN},{MAX}] |
sayı, tarih | Alan bir aralık içindedir. Eşleşme için alanın değeri {MIN} veya daha büyük ve {MAX} değerinden küçük olmalıdır. Özel sayı özellikleri, bu operatörü desteklemek için numericIndexingSpec belirtmelidir. |
> |
sayı, tarih | Alan, değerden büyük. Özel sayı özellikleri, bu operatörü desteklemek için numericIndexingSpec belirtmelidir. |
>= |
sayı, tarih | Alan, değerden büyük veya değere eşit. Özel sayı özellikleri, bu operatörü desteklemek için numericIndexingSpec belirtmelidir. |
< |
sayı, tarih | Alan, değerden küçük. Özel sayı özellikleri, bu operatörü desteklemek için numericIndexingSpec belirtmelidir. |
<= |
sayı, tarih | Alan, değerden küçük veya değere eşit. Özel sayı özellikleri, bu operatörü desteklemek için numericIndexingSpec belirtmelidir. |
Örnekler
Tüm sorgular, aşağıdaki gibi bir HTTP isteğine sahip olan users.list yöntemini kullanır (okunabilirlik için satır sonları eklenmiştir):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Kullanıcıları ada göre arama
name sorgu alanı, givenName ve familyName değerlerinin birleştirilmiş değeri üzerinde testler yapar. name='Jane' sorgusu, givenName='Jane' ve familyName='Smith' olan bir kullanıcı için sonuç döndürmüyor.
name='Jane Smith'
Değer içeren bir givenName VEYA familyName ile kullanıcıları arama
name:'Jane'
E-posta önekiyle eşleşen kullanıcıları arama
email:admin*
Tüm süper yöneticileri arama
isAdmin=true
orgTitles alanında "Yönetici" kelimesini içeren kullanıcıları arama
orgTitle:Manager
Raporlama zincirinde ortak bir yöneticiye sahip kullanıcıları arama
manager='janesmith@example.com'
Aynı doğrudan yöneticiye sahip kullanıcıları arama
directManager='bobjones@example.com'
Belirli bir ülkedeki kullanıcıları arama
addressCountry='Sweden'
Belirli bir kuruluştaki kullanıcıları arama
orgName='Human Resources'
Belirli bir kuruluştaki yöneticileri arama
orgName=Engineering orgTitle:Manager
Özel kullanıcı özelliklerini arama
Belirli bir proje üzerinde çalışan tüm çalışanları arama
EmploymentData.projects:'GeneGnomes'
Belirli bir konumdaki tüm çalışanları arama
EmploymentData.location='Atlanta'
İş seviyesi 7'nin üzerindeki tüm çalışanları arama
EmploymentData.jobLevel>=7
İş seviyeleri >= 5 ve < 8 olan tüm çalışanları arama
EmploymentData.jobLevel:[5,8]
2 Adımlı Doğrulama'ya kayıtlı tüm çalışanları arama
isEnrolledIn2Sv=true
2 Adımlı Doğrulama'nın zorunlu kılındığı tüm çalışanları arama
isEnforcedIn2Sv=true