Você pode pesquisar usuários que correspondam a determinados atributos com o método
users.list()
da
API Directory. Esse método aceita o parâmetro query
, que é uma consulta de pesquisa que combina uma ou mais cláusulas de pesquisa. Cada cláusula de pesquisa é composta de três partes:
- Campo
- Atributo de usuário pesquisado. Por exemplo,
givenName
. - Operador
- Teste realizado nos dados para fornecer uma correspondência. Por exemplo, o operador
:
testa se um atributo de texto contém um valor. - Valor
- O conteúdo do atributo testado. Por exemplo,
Jane
.
Para pesquisar vários campos em uma consulta, adicione cada cláusula de pesquisa, separada por um espaço. A operação é um AND
implícito.
Campos
Campo | Tipo de valor | Operadores | Descrição |
---|---|---|---|
Nenhum especificado | string | Compare com o valor em givenName , familyName ou email . |
|
name |
string | =, : |
O valor concatenado de givenName e familyName . |
email |
string | = , : e :{PREFIX}* |
Endereços de e-mail do usuário, incluindo aliases. |
givenName |
string | = , : e :{PREFIX}* |
É o nome ou nome de um usuário. |
familyName |
string | = , : e :{PREFIX}* |
É o sobrenome ou o sobrenome do usuário. |
isAdmin |
boolean | = |
Se um usuário tem privilégios de superadministrador. |
isDelegatedAdmin |
boolean | = |
Se um usuário tem privilégios de administrador delegados. |
isSuspended |
boolean | = |
Se a conta de um usuário está suspensa. |
isArchived |
boolean | = |
Indica se a conta de um usuário está arquivada. |
im |
string | =, : |
ID da rede de mensagens instantâneas. |
externalId |
string | =, : |
Valor do ID externo. |
manager |
string | = |
O endereço de e-mail do gerente de um usuário ou diretamente na cadeia de gerenciamento. |
managerId |
string | = |
O ID do gerente de um usuário diretamente ou acima na cadeia de gerenciamento. |
directManager |
string | = |
O endereço de e-mail do gerente direto de um usuário. |
directManagerId |
string | = |
O ID do gerente direto de um usuário. |
address |
string | : |
Corresponde a todos os campos de endereço. |
addressPoBox |
string | =, : |
Uma caixa postal. |
addressExtended |
string | =, : |
Um endereço estendido, como um que inclua uma sub-região. |
addressStreet |
string | =, : |
Um endereço. |
addressLocality |
string | =, : |
A cidade do endereço. |
addressRegion |
string | =, : |
Uma província ou estado abreviado. |
addressPostalCode |
string | =, : |
É um CEP ou código postal. |
addressCountry |
string | =, : |
Um país. |
orgName |
string | =, : |
Um nome de organização. |
orgTitle |
string | =, : |
É o cargo de um usuário na organização. |
orgDepartment |
string | =, : |
um departamento dentro da organização. |
orgDescription |
string | =, : |
A descrição de uma organização. |
orgCostCenter |
string | =, : |
O centro de custos de uma organização. |
phone |
string | = |
O número de telefone do usuário. |
orgUnitPath |
string | = |
O caminho completo de uma unidade organizacional. Isso corresponde a todas as cadeias de unidades organizacionais no destino. Por exemplo, 'orgUnitPath=/' retorna todos os usuários da organização. Este campo só pode ser usado quando viewType=admin_view . |
isEnrolledIn2Sv |
boolean | = |
Indica se um usuário está inscrito na verificação em duas etapas. |
isEnforcedIn2Sv |
boolean | = |
Define se a verificação em duas etapas é aplicada para o usuário. |
schemaName.fieldName |
? | ? | Um atributo de usuário personalizado, referenciado pelo esquema e nome do campo. O campo precisa ter a propriedade indexed definida como true . |
Tipos de valor
Tipo de valor | Esquema equivalente fieldType | Observações |
---|---|---|
string | STRING , EMAIL , PHONE |
Coloque aspas simples ' se a consulta tiver espaços em branco. Escape de aspas simples em consultas com \' , por exemplo, 'Valentine\'s Day' . |
boolean | BOOL |
Precisa ter um valor de true ou false . Compatível apenas com o operador = . |
number | INT64 , DOUBLE |
É necessário usar um ponto como separador decimal e nenhum separador de milhares, por exemplo, 150430.25 . |
date | DATE |
Especificado no formato AAAA-MM-DD, por exemplo, 2001-02-15 . |
Operadores
Operador | Tipos de valores compatíveis | Observações |
---|---|---|
= |
string, boolean, number, date | O campo e o valor correspondem exatamente. Por exemplo, givenName=Jane corresponde a todos os usuários com o atributo givenName "Jane" , mas não "Jane Ann" . Compatível com a maioria dos campos de string (confira acima). |
: |
string | O campo contém as palavras inteiras dentro do valor, em ordem. Por exemplo, uma consulta com givenName:Jane corresponde usuários com valores givenName de "Jane" e "Jane Ann" , mas não de "Janet" . Uma consulta de várias palavras para 'givenName:Mary Ann' corresponderia a valores de "Mary Ann Evans" e "Sarah Mary Ann" , mas não de "Ann Mary" . Compatível com a maioria dos campos de string (confira acima). |
:{PREFIX}* |
string | O campo começa com o valor. Por exemplo, uma consulta com givenName:Jane* corresponde usuários com valores givenName de "Jane" , "Jane Ann" e "Janet" , mas não "Sarah Jane" . Compatível apenas com um conjunto limitado de campos de string (confira acima). Incompatível com atributos personalizados. |
:[{MIN},{MAX}] |
número, data | O campo está dentro de um intervalo. Para corresponder, o valor do campo precisa ser maior ou igual a {MIN} e menor que {MAX} . Os atributos de número personalizado precisam especificar um numericIndexingSpec para oferecer suporte a esse operador. |
> |
número, data | O campo é maior que o valor. Os atributos de número personalizado precisam especificar um numericIndexingSpec para oferecer suporte a esse operador. |
>= |
número, data | O campo é maior ou igual ao valor. Os atributos de número personalizado precisam especificar um numericIndexingSpec para oferecer suporte a esse operador. |
< |
número, data | O campo é menor que o valor. Os atributos de número personalizado precisam especificar um numericIndexingSpec para oferecer suporte a esse operador. |
<= |
número, data | O campo é menor ou igual ao valor. Os atributos de número personalizado precisam especificar um numericIndexingSpec para oferecer suporte a esse operador. |
Exemplos
Todas as consultas usam o método users.list
, que tem uma solicitação HTTP semelhante à seguinte (quebras de linha incluídas para legibilidade):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Pesquisar um usuário pelo nome
O campo de consulta name
testa o valor concatenado de givenName
e familyName
. Uma consulta para name='Jane'
não retorna resultados para um usuário com givenName='Jane'
e familyName='Smith'
.
name='Jane Smith'
Pesquisar usuários com um givenName
OU familyName
que contenha um valor
name:'Jane'
Pesquisar usuários que correspondam a um prefixo de e-mail
email:admin*
Pesquisar todos os superadministradores
isAdmin=true
Pesquisar usuários com orgTitles
contendo "Administrador"
orgTitle:Manager
Pesquisar usuários com um gerente comum na cadeia de subordinados
manager='janesmith@example.com'
Pesquisar usuários com o mesmo gerente direto
directManager='bobjones@example.com'
Pesquisar usuários em um determinado país
addressCountry='Sweden'
Pesquisar usuários em uma organização específica
orgName='Human Resources'
Pesquisar administradores em uma organização específica
orgName=Engineering orgTitle:Manager
Pesquisar atributos de usuário personalizados
Pesquisar todos os funcionários que trabalham em um projeto específico
EmploymentData.projects:'GeneGnomes'
Pesquisar todos os funcionários em um local específico
EmploymentData.location='Atlanta'
Pesquisar todos os funcionários acima do nível 7
EmploymentData.jobLevel>=7
Pesquisar todos os funcionários com níveis de cargo >= 5 e < 8
EmploymentData.jobLevel:[5,8]
Pesquise todos os funcionários inscritos na verificação em duas etapas
isEnrolledIn2Sv=true
Pesquisar todos os funcionários que ativaram a verificação em duas etapas
isEnforcedIn2Sv=true