Buscar usuarios

Puedes buscar usuarios que coincidan con ciertos atributos con el método users.list() de la API de Directory. Este método acepta el parámetro query, que es una búsqueda que combina una o más cláusulas de búsqueda. Cada cláusula de búsqueda se compone de 3 partes:

Campo
Es el atributo de usuario que se busca. Por ejemplo, givenName
Operador
Es la prueba que se realiza en los datos para proporcionar una coincidencia. Por ejemplo, el operador : comprueba si un atributo de texto contiene un valor.
Valor
El contenido del atributo que se prueba. Por ejemplo, Jane

Para buscar varios campos en una consulta, agrega cada cláusula de búsqueda separada por un espacio. La operación es un AND implícito.

Campos

Campo Value Type Operadores Descripción
No se especificó ningún valor cadena Compara con el valor en givenName, familyName o email.
name cadena =, : El valor concatenado de givenName y familyName.
email cadena =, : y :{PREFIX}* Las direcciones de correo electrónico del usuario, incluidos sus alias.
givenName cadena =, : y :{PREFIX}* Es el nombre o nombre de un usuario.
familyName cadena =, : y :{PREFIX}* La familia o el apellido del usuario.
isAdmin boolean = Si un usuario tiene privilegios de administrador avanzado
isDelegatedAdmin boolean = Si un usuario ha delegado privilegios de administrador
isSuspended boolean = Si la cuenta de un usuario está suspendida.
isArchived boolean = Si la cuenta de un usuario está archivada.
im cadena =, : ID de la red de IM.
externalId cadena =, : Es el valor del ID externo.
manager cadena = Es la dirección de correo electrónico del administrador de un usuario, ya sea directamente o en la cadena de administración.
managerId cadena = Es el ID del administrador de un usuario, ya sea directamente o en la cadena de administración.
directManager cadena = Es la dirección de correo electrónico del administrador directo de un usuario.
directManagerId cadena = Es el ID del administrador directo de un usuario.
address cadena : Coincide con todos los campos de dirección.
addressPoBox cadena =, : Un apartado postal.
addressExtended cadena =, : Una dirección extendida, como una que incluya una subregión.
addressStreet cadena =, : Una dirección.
addressLocality cadena =, : Es un pueblo o una ciudad de la dirección.
addressRegion cadena =, : Es una provincia o estado abreviado.
addressPostalCode cadena =, : Es un código postal.
addressCountry cadena =, : Un país.
orgName cadena =, : El nombre de una organización.
orgTitle cadena =, : Cargo de un usuario dentro de la organización.
orgDepartment cadena =, : Un departamento dentro de la organización.
orgDescription cadena =, : Es la descripción de una organización.
orgCostCenter cadena =, : Es el centro de costos de una organización.
phone cadena = El número de teléfono de un usuario.
orgUnitPath cadena = La ruta completa de una unidad organizativa. Esto coincide con todas las cadenas de unidades organizativas del destino. Por ejemplo, 'orgUnitPath=/' muestra todos los usuarios de la organización. Este campo solo se puede usar cuando viewType=admin_view.
isEnrolledIn2Sv boolean = Si un usuario está inscrito en la Verificación en 2 pasos
isEnforcedIn2Sv boolean = Si se aplica la Verificación en 2 pasos al usuario
schemaName.fieldName ? ? Un atributo de usuario personalizado, al que se hace referencia mediante su esquema y nombre de campo. El campo debe tener la propiedad indexed configurada en true.

Tipos de valores

Value Type Esquema equivalente fieldType Notas
cadena STRING, EMAIL y PHONE Rodea con comillas simples ' si la consulta contiene un espacio en blanco. Escapa las comillas simples en las consultas con \', por ejemplo, 'Valentine\'s Day'.
boolean BOOL Debe tener un valor de true o false. Solo admite el operador =.
número INT64, DOUBLE Debe usar un punto como separador decimal y no un separador de miles, por ejemplo, 150430.25.
fecha DATE Se especifica en formato AAAA-MM-DD, por ejemplo, 2001-02-15.

Operadores

Operador Tipos de valores admitidos Notas
= string, boolean, number, date El campo y el valor coinciden exactamente. Por ejemplo, givenName=Jane coincide con todos los usuarios con el atributo givenName "Jane", pero no con "Jane Ann". Es compatible con la mayoría de los campos de string (ver arriba).
: cadena El campo contiene palabras completas dentro del valor, en orden. Por ejemplo, una consulta con givenName:Jane coincide con los usuarios con valores givenName de "Jane" y "Jane Ann", pero no "Janet". Una consulta de varias palabras para 'givenName:Mary Ann' coincidiría con los valores "Mary Ann Evans" y "Sarah Mary Ann", pero no con "Ann Mary". Es compatible con la mayoría de los campos de string (ver arriba).
:{PREFIX}* cadena El campo comienza con el valor. Por ejemplo, una consulta con givenName:Jane* coincide con los usuarios con valores givenName de "Jane", "Jane Ann" y "Janet", pero no "Sarah Jane". Solo se admite en un conjunto limitado de campos de string (consulta la sección anterior). No se admite en atributos personalizados.
:[{MIN},{MAX}] número, fecha El campo está dentro de un rango. Para que haya una coincidencia, el valor del campo debe ser mayor o igual que {MIN} e menor que {MAX}. Los atributos de números personalizados deben especificar un numericIndexingSpec para admitir este operador.
> número, fecha El campo es mayor que el valor. Los atributos de números personalizados deben especificar un numericIndexingSpec para admitir este operador.
>= número, fecha El campo es mayor o igual que el valor. Los atributos de números personalizados deben especificar un numericIndexingSpec para admitir este operador.
< número, fecha El campo es menor que el valor. Los atributos de números personalizados deben especificar un numericIndexingSpec para admitir este operador.
<= número, fecha El campo es menor o igual que el valor. Los atributos de números personalizados deben especificar un numericIndexingSpec para admitir este operador.

Ejemplos

Todas las consultas usan el método users.list, que tiene una solicitud HTTP similar a la siguiente (saltos de línea incluidos para facilitar la lectura):

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

Cómo buscar un usuario por nombre

El campo de consulta name realiza pruebas en el valor concatenado de givenName y familyName. Una consulta sobre name='Jane' no muestra resultados para un usuario con givenName='Jane' y familyName='Smith'.

name='Jane Smith'

Buscar usuarios con un givenName O familyName que contenga un valor

name:'Jane'

Busca usuarios que coincidan con un prefijo de correo electrónico

email:admin*

Buscar todos los administradores avanzados

isAdmin=true

Buscar usuarios cuyos orgTitles contengan la palabra "Manager"

orgTitle:Manager

Busca usuarios con un administrador en común en su cadena de informes

manager='janesmith@example.com'

Buscar usuarios con el mismo administrador directo

directManager='bobjones@example.com'

Buscar usuarios de un país determinado

addressCountry='Sweden'

Buscar usuarios de una organización específica

orgName='Human Resources'

Buscar administradores de una organización específica

orgName=Engineering orgTitle:Manager

Buscar atributos de usuario personalizados

Busca a todos los empleados que trabajan en un proyecto específico

EmploymentData.projects:'GeneGnomes'

Cómo buscar a todos los empleados de una ubicación específica

EmploymentData.location='Atlanta'

Buscar todos los empleados que tengan un nivel superior al 7

EmploymentData.jobLevel>=7

Buscar todos los empleados cuyos niveles de trabajo sean >= 5 y < 8

EmploymentData.jobLevel:[5,8]

Busca todos los empleados inscritos en la verificación en 2 pasos

isEnrolledIn2Sv=true

Buscar todos los empleados a los que se les haya aplicado la verificación en 2 pasos

isEnforcedIn2Sv=true