ユーザーの検索

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

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

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

フィールド

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

値の型

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

演算子

演算子 サポートされている値の型 メモ
= string, boolean, number, date フィールドと値が正確に一致している。たとえば、givenName=Jane は、givenName 属性が "Jane" であるすべてのユーザーに一致しますが、"Jane Ann" には一致しません。ほとんどの文字列フィールドでサポートされています(上記参照)。
: string このフィールドには、値に含まれる単語全体が順番に格納されます。たとえば、givenName:Jane を含むクエリは、givenName の値が "Jane" および "Jane Ann" のユーザーと一致しますが、"Janet" には一致しません。'givenName:Mary Ann' の複数単語のクエリは、"Mary Ann Evans""Sarah Mary Ann" の値と一致しますが、"Ann Mary" には一致しません。ほとんどの文字列フィールドでサポートされています(上記参照)。
:{PREFIX}* string フィールドは値から始まります。たとえば、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 に「マネージャー」が含まれるユーザーを検索する

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 段階認証プロセス vVerification に登録されているすべての従業員を検索する

isEnrolledIn2Sv=true

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

isEnforcedIn2Sv=true