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 3 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