ユーザーを検索

特定の属性に一致するユーザーを検索するには、Directory API の users.list() メソッドを使用します。このメソッドは、1 つ以上の検索句を組み合わせた検索クエリである query パラメータを受け入れます。各検索句は、次の 3 つの部分で構成されます。

項目
検索対象のユーザー属性。例: givenName
演算子
一致を判定するためにデータに対して実行されるテスト。たとえば、: 演算子は、テキスト属性に値が含まれているかどうかをテストします。
テスト対象の属性の内容。例: Jane

クエリ内の複数のフィールドを検索するには、各検索句をスペースで区切って追加します。オペレーションは暗黙的な AND です。

フィールド

項目 値の型 演算子 説明
指定なし 文字列 givenNamefamilyName、または email の値と比較します。
name 文字列 =, : givenNamefamilyName を連結した値。
email 文字列 = さん、: さん、:{PREFIX}* さん ユーザーのメールアドレス(エイリアスを含む)。
givenName 文字列 = さん、: さん、:{PREFIX}* さん ユーザーの名または名。
familyName 文字列 = さん、: さん、:{PREFIX}* さん ユーザーの姓。
isAdmin ブール値 = ユーザーに特権管理者権限があるかどうか。
isDelegatedAdmin ブール値 = ユーザーが管理者権限が委任されているかどうか。
isSuspended ブール値 = ユーザーのアカウントが停止されているかどうか。
isArchived ブール値 = ユーザーのアカウントがアーカイブされているかどうか。
im 文字列 =, : IM ネットワーク ID。
externalId 文字列 =, : 外部 ID の値。
manager 文字列 = ユーザーのマネージャーのメールアドレス(直接または管理チェーンの上位層)。
managerId 文字列 = ユーザーのマネージャーの ID(直接管理または管理チェーンの上位)。
directManager 文字列 = ユーザーの直属のマネージャーのメールアドレスです。
directManagerId 文字列 = ユーザーの直属のマネージャーの ID。
address 文字列 : すべての住所フィールドと一致します。
addressPoBox 文字列 =, : 私書箱。
addressExtended 文字列 =, : 拡張された住所(小地域を含む住所など)。
addressStreet 文字列 =, : 番地です。
addressLocality 文字列 =, : 住所の町や都市。
addressRegion 文字列 =, : 省略された都道府県。
addressPostalCode 文字列 =, : 郵便番号。
addressCountry 文字列 =, : 国。
orgName 文字列 =, : 組織名。
orgTitle 文字列 =, : 組織内のユーザーの役職。
orgDepartment 文字列 =, : 組織内の部門。
orgDescription 文字列 =, : 組織の説明。
orgCostCenter 文字列 =, : 組織のコストセンター。
phone 文字列 = ユーザーの電話番号。
orgUnitPath 文字列 = 組織部門のフルパス。ターゲットに含まれるすべての組織部門チェーンに一致します。たとえば、'orgUnitPath=/' は組織内のすべてのユーザーを返します。このフィールドは、viewType=admin_view の場合にのみ使用できます。
isEnrolledIn2Sv ブール値 = ユーザーが 2 段階認証プロセスに登録しているかどうか。
isEnforcedIn2Sv ブール値 = ユーザーに 2 段階認証プロセスを適用するかどうか。
schemaName.fieldName ? ? カスタム ユーザー属性。スキーマとフィールド名で参照されます。フィールドの indexed プロパティが true に設定されている必要があります。

値の型

値の型 同等のスキーマ fieldType メモ
文字列 STRINGEMAILPHONE クエリに空白文字が含まれている場合は単一引用符 ' で囲みます。\' を使用してクエリ内の単一引用符をエスケープします(例: 'Valentine\'s Day')。
ブール値 BOOL 値は true または false にする必要があります。= 演算子のみがサポートされています。
数値 INT64DOUBLE 小数点としてピリオドを使用し、3 桁ごとの区切り記号は使用しません(例: 150430.25)。
date DATE YYYY-MM-DD 形式で指定します(例: 2001-02-15)。

演算子

演算子 サポートされている値の型 メモ
= 文字列、ブール値、数値、日付 フィールドと値が正確に一致します。たとえば、givenName=Jane は、givenName 属性が "Jane" であるすべてのユーザーに一致しますが、"Jane Ann" には一致しません。ほとんどの文字列フィールドでサポートされています(上記を参照)。
: 文字列 フィールドには、値内の単語全体が順番に含まれています。たとえば、givenName:Jane を含むクエリは、givenName の値が "Jane" および "Jane Ann" のユーザーに一致しますが、"Janet" には一致しません。'givenName:Mary Ann' の複数単語のクエリでは、"Mary Ann Evans""Sarah Mary Ann" の値には一致しますが、"Ann Mary" には一致しません。ほとんどの文字列フィールドでサポートされています(上記を参照)。
:{PREFIX}* 文字列 フィールドは値から始まります。たとえば、givenName:Jane* を含むクエリは、givenName の値が "Jane""Jane Ann""Janet" のユーザーに一致しますが、"Sarah Jane" には一致しません。一部の文字列フィールドでのみサポートされています(上記を参照)。カスタム属性ではサポートされていません。
:[{MIN},{MAX}] 数値、日付 フィールドが範囲内です。一致させるには、フィールドの値は {MIN} 以上 {MAX} 未満にする必要があります。カスタム数値属性でこの演算子をサポートするには、numericIndexingSpec を指定する必要があります。
> 数値、日付 フィールドがこの値を超えています。カスタム数値属性でこの演算子をサポートするには、numericIndexingSpec を指定する必要があります。
>= 数値、日付 フィールドがこの値以上です。カスタム数値属性でこの演算子をサポートするには、numericIndexingSpec を指定する必要があります。
< 数値、日付 フィールドがこの値より小さい。カスタム数値属性でこの演算子をサポートするには、numericIndexingSpec を指定する必要があります。
<= 数値、日付 フィールドが値以下になっています。カスタム数値属性でこの演算子をサポートするには、numericIndexingSpec を指定する必要があります。

すべてのクエリで users.list メソッドを使用します。このメソッドは、次のような HTTP リクエストを持ちます(読みやすくするため、改行を入れます)。

GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS

ユーザーを名前で検索する

name クエリ フィールドは、givenNamefamilyName の連結値をテストします。name='Jane' のクエリは、givenName='Jane'familyName='Smith' を持つユーザーの結果を返しません。

name='Jane Smith'

値を含む givenName または familyName を持つユーザーを検索する

name:'Jane'

メールアドレスのプレフィックスが一致するユーザーを検索する

email:admin*

すべての特権管理者を検索する

isAdmin=true

orgTitles に「Manager」を含むユーザーを検索する

orgTitle:Manager

レポート チェーンに共通のマネージャーがいるユーザーを検索する

manager='janesmith@example.com'

直属のマネージャーが同じユーザーを検索する

directManager='bobjones@example.com'

特定の国のユーザーを検索する

addressCountry='Sweden'

特定の組織内のユーザーを検索する

orgName='Human Resources'

特定の組織のマネージャーを検索する

orgName=Engineering orgTitle:Manager

カスタム ユーザー属性を検索する

特定のプロジェクトに携わっている全従業員を検索する

EmploymentData.projects:'GeneGnomes'

特定の場所にいる全従業員を検索する

EmploymentData.location='Atlanta'

職務レベル 7 以上のすべての従業員を検索する

EmploymentData.jobLevel>=7

職務レベルが 5 以上 8 未満のすべての従業員を検索する

EmploymentData.jobLevel:[5,8]

2 段階認証プロセスに登録済みのすべての従業員を検索する

isEnrolledIn2Sv=true

2 段階認証プロセスが適用されているすべての従業員を検索する

isEnforcedIn2Sv=true