Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As aplicações do Microsoft Graph podem utilizar a API do Microsoft Search para obter as pessoas mais relevantes para um utilizador. A relevância é determinada pelos padrões de comunicação e colaboração e pelas relações comerciais do usuário. Pessoas podem ser contactos locais ou do diretório de uma organização ou pessoas de comunicações recentes.
Além de gerar estas informações, a pesquisa também fornece suporte de pesquisa correspondente difuso e a capacidade de obter a lista de utilizadores relevantes para outro utilizador na organização do utilizador com sessão iniciada.
APIs Pessoas
Pode utilizar as seguintes APIs para procurar pessoas dentro de uma organização.
- /search
- /people
Observação
Recomendamos que os utilizadores chamem o /search ponto final em vez do /people ponto final. No futuro, todos os investimentos futuros só estarão disponíveis no /search ponto final; o /people ponto final está no modo de manutenção.
Propriedades de pessoas devolvidas
A API de pessoas devolve o seguinte conjunto de propriedades.
| Propriedade | Tipo |
|---|---|
| additionalOfficeLocation | Cadeia de caracteres |
| CompanyName | String |
| department | String |
| displayName | Cadeia de caracteres |
| emailAddress | Cadeia de caracteres |
| givenName | Cadeia de caracteres |
| hitId | Cadeia de caracteres |
| imAddress | String |
| jobTitle | String |
| officeLocation | String |
| personType | Cadeia de caracteres |
| telefones | Cadeia de caracteres |
| classificação | Número inteiro |
| summary | Cadeia de caracteres |
| surname | Cadeia de caracteres |
| userPrincipalName | Cadeia de caracteres |
Tipos de pessoas
A tabela seguinte mostra os tipos e subtipos de pessoas suportados na API de pessoas.
| Variações de salas, grupos e pessoas suportadas | Detalhes do tipo de destinatário | Mailbox | Diretório | Pessoas tipo | subtipo de Pessoas | Notas |
|---|---|---|---|---|---|---|
| Utilizador da organização | UserMailbox, MailUser | S | S | Pessoa | OrganizationUser | Um utilizador que pertence à organização. |
| Utilizador da organização sem endereço de e-mail | Usuário | Y (Desativado por predefinição) | Y (Desativado por predefinição) | Pessoa | OrganizationUser | Um utilizador que pertence à organização. |
| Contacto da organização | MailContact, Contacto | N | S | Pessoa | OrganizationContact | Um contacto explicitamente adicionado à lista de endereços global (GAL) pelo administrador inquilino, mas isso não faz parte da organização. |
| Contacto privado | Contato | S | N/D | Pessoa | PersonalContact | Um contacto criado explicitamente pelo utilizador que não pertence à organização. Se o utilizador adicionar manualmente aos respetivos contactos alguém que faça parte da organização, este continuará a ser classificado como OrganizationUser. |
| Contacto privado sem endereço de e-mail | Contato | Y (Desativado por predefinição) | N/D | Pessoa | PersonalContact | Um contacto criado explicitamente pelo utilizador que não pertence à organização. Se o utilizador adicionar manualmente aos respetivos contactos alguém que faça parte da organização, este continuará a ser classificado como OrganizationUser. |
| Contacto implícito do histórico de comunicações | Contato | S | N/D | Pessoa | ImplicitContact | Um contacto inferido a partir do histórico de comunicações (e-mail e chat) sobre o qual não temos informações suficientes para determinar se é uma pessoa, um grupo, etc. Em contas empresariais, este será sempre um contacto externo da organização, uma vez que os contactos dentro da organização encontrados no histórico de comunicações serão sempre classificados como OrganizationUser. Para contas de consumidor, qualquer coisa que não seja um PersonalContact é classificado como ImplicitContact. |
| Contacto implícito do histórico de conversas | Contato | S | N/D | Pessoa | ChatImplicitContact | O mesmo que ImplicitContact, mas quando o histórico de comunicações é exclusivo do chat. |
| Room | Rooms | S | S | Outros | Room | |
| Guest | GuestUser | S | S | Outros | Guest | |
| Convidado oculto | GuestUser | Y (Desativado por predefinição) | Y (Desativado por predefinição) | Outros | Guest | |
| Grupo moderno | Group | S | S | Group | UnifiedGroup | Grupo conhecido como: Grupo do Exchange 365, Grupos Modernos Grupos do Microsoft 365. Para obter mais informações sobre Grupos do Microsoft 365, consulte Saiba mais sobre Grupos do Microsoft 365. |
| Grupo do Teams | Group | S | S | Group | UnifiedGroup | O mesmo que Grupos do Microsoft 365, mas representa internamente uma equipa no Microsoft Teams. |
| Grupo oculto do Teams | Group | Y (Desativado por predefinição) | S | Group | UnifiedGroup | Grupo do Teams oculto. |
| Lista de distribuição | Group | S | S | Group | PublicDistributionList | Lista de distribuição clássica do Exchange ou grupo de segurança com capacidade de correio. |
| Lista de distribuição pessoal | Contato | Y (Desativado por predefinição) | N/D | Group | PersonalDistributionList | Um grupo de distribuição virtual criado pelo utilizador como auxiliar para enviar e-mails para vários contactos de forma fácil. Utilizado apenas para Outlook na Web compor como uma funcionalidade de UX, não devolvida para outros autores de chamadas. |
| Objeto oculto de qualquer tipo, exceto grupo Convidado e Teams | N | N |
Solicitar detalhes
Torne os resultados da API de pessoas mais específicos ao fornecer detalhes adicionais quando efetua um pedido. Seguem-se algumas formas de tornar os pedidos mais específicos.
Exemplo 1: apenas resultados da caixa de correio
"Provenances": ["Mailbox"]
Exemplo 2: resultados de ambas as origens
"Provenances": ["Mailbox", "Directory"]
Origem dos resultados
Pessoas resultados são provenientes de duas origens, caixa de correio ou diretório. Por predefinição, os resultados serão provenientes de ambas as origens com conflitos a serem removidos, o que garante que os mesmos valores não serão devolvidos.
Nota: em caso de conflito, as origens de diretório são preferenciais.
Os resultados da caixa de correio consistem em:
- Pessoas quem lhe enviou um e-mail
- Pessoas a quem enviou um e-mail
- Pessoas com quem se reuniu
- Pessoas com quem teve conversa no Teams
- Pessoas no organograma do seu gestor
- Contactos públicos das pessoas acima referidas
Aspetos relevantes para o caso de utilização quando uma origem de diretório procura na lista de endereços global no Microsoft Entra ID:
- Não aplicável para utilizadores consumidores
- Pessoas que não estejam na lista de endereçamento global do autor da chamada não serão devolvidas
- Pessoas que estão ocultos pelo IBP (protocolo de barreira de informações) não serão devolvidos
- Pessoas que estão ocultos na lista de endereços não serão devolvidos
Obter mais resultados
Especifique o tamanho para obter mais resultados. Por predefinição, serão devolvidos 25 resultados ou menos com base nas correspondências da consulta de pesquisa.
"Size": 25
Especificar o índice mínimo para paginação
Defina o índice mínimo para paginação para especificar a página inicial dos resultados. Por predefinição, o índice mínimo para paginação é 0 e o primeiro resultado é o mais relevante.
"From": 0
Selecione os campos para retornar
A API devolve um conjunto de propriedades predefinidas, mas pode personalizar um pedido para devolver um número específico de propriedades. O exemplo seguinte limita a resposta às propriedades DisplayName, EmailAddresses e telefones .
"Fields": ["DisplayName", "EmailAddresses", "phones"]
Usar um filtro para limitar a resposta
Utilize o objeto Filter para limitar a resposta a valores específicos. Os valores de filtro possíveis são : PeopleType, PeopleSubType.
Os exemplos seguintes mostram pedidos que utilizam o objeto Filtro para devolver pessoas cujo registo contém os critérios especificados.
Exemplo 1: filtrar por sugestões de pessoas
O exemplo seguinte limita a resposta a sugestões de apenas pessoas. A resposta contém contactos privados e organizacionais.
"Filter": {
"And": [
{
"Term": {
"PeopleType": "Person"
}
}
]
},
Exemplo 2: filtrar para sugestões de pessoas na organização
O exemplo seguinte limita a resposta apenas aos utilizadores empresariais.
"Filter": {
"And": [
{
"Term": {
"PeopleType": "Person"
}
},
{
"Term": {
"PeopleSubtype": "OrganizationUser"
}
}
]
},
Exemplo 3: filtrar para todos os utilizadores, listas de distribuição ou lista de distribuição moderna na organização
O exemplo seguinte limita a resposta a diferentes categorias de PeopleSubtype.
"Filter": {
"Or": [
{
"Term": {
"PeopleSubtype": "OrganizationUser"
}
},
{
"Term": {
"PeopleSubtype": "PublicDistributionList"
}
},
{
"Term": {
"PeopleSubtype": "UnifiedGroup"
}
}
]
},
Exemplo 4: filtrar para utilizadores da organização e salas de reunião
O exemplo seguinte limita a resposta aos utilizadores da organização e às salas de reunião.
"Filter": {
"Or": [
{
"Term": {
"PeopleSubtype": "OrganizationUser"
}
},
{
"Term": {
"PeopleSubtype": "Rooms"
}
}
]
},
Exemplo 5: Filtrar para utilizadores e convidados da organização
O exemplo seguinte limita a resposta a utilizadores e convidados da organização.
"Filter": {
"Or": [
{
"Term": {
"PeopleSubtype": "OrganizationUser"
}
},
{
"Term": {
"PeopleSubtype": "Guest"
}
}
]
},
Exemplo 6: Combinar vários filtros
O exemplo seguinte combina vários filtros para limitar a resposta aos critérios especificados.
"Filter": {
"And": [
{
"Or": [
{
"Term": {
"PeopleType": "Person"
}
},
{
"Term": {
"PeopleType": "Other"
}
}
]
},
{
"Or": [
{
"Term": {
"PeopleSubtype": "OrganizationUser"
}
},
{
"Term": {
"PeopleSubtype": "Guest"
}
}
]
}
]
},
Pedido completo
Exemplo: Procurar pessoa pelo nome
O pedido seguinte obtém as pessoas mais relevantes para o utilizador com sessão iniciada, com base em padrões de comunicação e colaboração e relações comerciais.
Solicitação
POST https://graph.microsoft.com/beta/search/query
Content-Type: application/json
{
"requests": [
{
"entityTypes": [
"person"
],
"query": {
"queryString": "contoso"
},
"from": 0,
"size": 25
}
]
}
Resposta
Segue-se um exemplo da resposta, que contém uma mensagem que corresponde ao critério de pesquisa.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.searchResponse",
"value": [
{
"hitsContainers": [
{
"total": 1,
"moreResultsAvailable": false,
"hits": [
{
"hitId": "fc138b85-18ac-48e0-80a4-633ae4b594e0@41f988bf-86f1-53af-91ab-2d7cd034db47",
"rank": 1,
"summary": "",
"resource": {
"@odata.type": "#microsoft.graph.person",
"displayName": "Example User",
"givenName": "User",
"surname": "User",
"department": "Finance",
"officeLocation": "London",
"userPrincipalName": "example.user@contoso.com",
"emailAddresses": [
{
"address": "example.user@contoso.com",
"rank": 1
}
],
"phones": [
{
"type": "business",
"number": "+44 (20) 12345678"
}
]
}
}
]
}
]
}
]
}