特定の属性に一致するユーザーを検索するには、Directory API の users.list()
メソッドを使用します。このメソッドは、1 つ以上の検索句を組み合わせた検索クエリである query
パラメータを受け入れます。各検索句は、次の 3 つの部分で構成されます。
- 項目
- 検索対象のユーザー属性。例:
givenName
- 演算子
- 一致を確定するためにデータに対して実行されるテスト。たとえば、
:
演算子は、テキスト属性に値が含まれているかどうかをテストします。 - 値
- テスト対象の属性の内容。例:
Jane
クエリ内の複数のフィールドを検索するには、各検索句をスペースで区切って追加します。オペレーションは暗黙的な AND
です。
フィールド
項目 | 値の型 | 演算子 | 説明 |
---|---|---|---|
指定なし | string | givenName 、familyName 、または email の値と比較します。 |
|
name |
string | =, : |
givenName と familyName を連結した値。 |
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 | STRING 、EMAIL 、PHONE |
クエリに空白文字が含まれている場合は、単一引用符 ' で囲みます。クエリ内で単一引用符をエスケープするには、\' を使用します(例: 'Valentine\'s Day' )。 |
boolean | BOOL |
値は true または false にする必要があります。= 演算子のみがサポートされています。 |
数値 | INT64 、DOUBLE |
小数点にはピリオドを使用し、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
クエリ フィールドは、givenName
と familyName
の連結値をテストします。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