Seletor de Pessoas em Cartões Adaptáveis
Observação
Atualmente, o Seletor de Pessoas em Cartões Adaptáveis está disponível na visualização do desenvolvedor público para o Teams apenas para dispositivos móveis e ga (disponibilidade geral) para área de trabalho.
O Seletor de Pessoas ajuda os usuários a pesquisar e selecionar usuários no Cartão Adaptável. Você pode adicionar o Seletor de Pessoas como controle de entrada ao Cartão Adaptável, que funciona em chats, canais, módulos de tarefas e guias. O People Picker dá suporte aos seguintes recursos:
- Pesquisa um ou vários usuários.
- Seleciona um ou vários usuários.
- Reatribui a um ou vários usuários.
- Popula previamente o nome dos usuários selecionados.
Cenários populares
A tabela a seguir fornece cenários populares para o Seletor de Pessoas em Cartões Adaptáveis e as ações correspondentes:
| Cenários | Ações |
|---|---|
| Cenários baseados em aprovação | Para solicitar, atribuir e reatribuir a aprovação ao usuário pretendido com base no requisito. |
| Gestão de incidentes | Para acompanhar incidentes e notificar, atribuir e reatribuir ao usuário pretendido para ação imediata. |
| Gerenciamento de projeto | Para atribuir tíquetes ou bugs a usuários específicos. |
| Pesquisa do usuário | Para pesquisar usuários em toda a organização. |
O cliente Web e desktop dá suporte ao Seletor de Pessoas no Cartão Adaptável. Ao pesquisar na Web, o Seletor de Pessoas envolve uma experiência de digitação embutida.
Exemplo de cenário de reatribuição
O usuário A (Robert) recebe um tíquete para uma tarefa em um canal e percebe o destinatário incorreto. O usuário A reatribui a tarefa que envia as informações de volta para o bot.
Para reatribuir qualquer tarefa:
- Selecione Reatribuir onde o campo seletor de pessoas é pré-preenchido com o nome para reatribuir a tarefa ao usuário pretendido.
- Remova o nome do usuário incorreto.
- Selecione os usuários pretendido de acordo com o cenário de imagem, o usuário B (Mona) e o usuário C (Robin) para a tarefa.
- Selecione Atribuir. Depois de atribuir, as informações são enviadas ao bot. O bot atualiza o Cartão Adaptável e notifica os usuários pretendido.
A imagem a seguir mostra o cenário de reatribuição:

Implementar o Seletor de Pessoas
O Seletor de Pessoas é implementado como uma extensão do controle Input.ChoiceSet . O controle de entrada inclui as seguintes seleções:
- Lista suspensa, como uma seleção expandida.
- Botão de opção, como uma única seleção.
- Caixas de seleção, como várias seleções.
Observação
O Input.ChoiceSet controle é baseado no e style nas isMultiSelect propriedades.
Atualizar esquema
As propriedades a seguir são adições ao esquema Input.ChoiceSet para habilitar a experiência do Seletor de Pessoas no cartão:
Controle Input.ChoiceSet
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| choices.data | Data.Query | Não | Habilita o preenchimento automático dinâmico para diferentes tipos de usuário, buscando resultados do conjunto de dados especificado. |
Data.Query
| Propriedade | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Dataset | Cadeia de caracteres | Sim | O tipo de dados que deve ser buscado dinamicamente. |
Dataset
A tabela a seguir fornece valores predefinidos como conjunto de dados para o seletor de pessoas:
| Dataset | Escopo da Pesquisa |
|---|---|
| graph.microsoft.com/users | Pesquise todos os membros em toda a organização. |
| graph.microsoft.com/users?scope=currentContext | Pesquise dentro dos membros da conversa atual, como chat ou canal no qual o cartão específico é enviado. |
Exemplo
O exemplo de código para criar o Seletor de Pessoas com a pesquisa da organização é o seguinte:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "People Picker with Org search enabled"
},
{
"type": "Input.ChoiceSet",
"choices": [],
"choices.data": {
"type": "Data.Query",
"dataset": "graph.microsoft.com/users"
},
"id": "people-picker",
"isMultiSelect": true
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
A imagem a seguir ilustra o Seletor de Pessoas em Cartões Adaptáveis com a pesquisa da organização:
Para habilitar a pesquisa dentro de uma lista de membros da conversa, use o conjunto de dados apropriado definido na tabela do conjunto de dados. isMultiSelect é usada para habilitar a seleção de vários usuários no controle. Ele é definido como false por padrão e essa configuração permite que você selecione apenas um usuário.
Envio de dados
Você pode usar Action.Submit ou Action.Execute enviar dados selecionados para o bot. O invoke conteúdo recebido no bot é uma lista de IDs Microsoft Azure Active Directory (Azure AD) ou as IDs fornecidas na lista estática.
No Seletor de Pessoas, quando um usuário é selecionado no controle, o Azure AD ID do usuário é o valor enviado de volta. É Azure AD ID uma cadeia de caracteres e identifica exclusivamente um usuário no diretório.
O formato do valor enviado ao bot depende do valor da isMultiSelect propriedade:
valor de isMultiSelect |
Formatar |
|---|---|
| false (seleção única) | <selected_Azure_AD_ID> |
| true (seleção multi) | <selected_Azure_AD_ID_1>, <selected_Azure_AD_ID_2>,<selected_Azure_AD_ID_3> |
Com o Azure AD ID, o Seletor de Pessoas pré-seleciona o usuário correspondente.
Pré-seleção do usuário
O Seletor de Pessoas dá suporte à pré-seleção do usuário no controle ao criar e enviar um Cartão Adaptável. Input.ChoiceSet dá suporte value à propriedade usada para pré-selecionar um usuário. O formato dessa propriedade value é o mesmo que o formato de valor enviado no envio de dados.
A lista a seguir fornece as informações para pré-selecionar usuários:
- Para um único usuário no controle, especifique
Azure AD IDo usuário como ovalue. - Para vários usuários, como
isMultiSelecté,trueespecifique uma cadeia de caracteres separada por vírgulas deAzure AD IDs.
O exemplo a seguir descreve a pré-seleção de um único usuário:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "People Picker with Org search enabled"
},
{
"type": "Input.ChoiceSet",
"choices": [],
"choices.data": {
"type": "Data.Query",
"dataset": "graph.microsoft.com/users"
},
"id": "people-picker",
"value": "<Azure AD ID 1>"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
O exemplo a seguir descreve a pré-seleção de vários usuários:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "People Picker with Org search enabled"
},
{
"type": "Input.ChoiceSet",
"choices": [],
"choices.data": {
"type": "Data.Query",
"dataset": "graph.microsoft.com/users"
},
"id": "people-picker",
"isMultiSelect": true,
"value": "<Azure AD ID 1>,<Azure AD ID 2>,<Azure AD ID 3>"
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
Opções estáticas
As opções estáticas dão suporte a cenários em que perfis personalizados devem ser inseridos nos conjuntos de dados predefinidos. Input.ChoiceSet dá suporte à especificação choices estaticamente no json. A opção estática é usada para criar as opções das quais o usuário pode selecionar.
Observação
Estáticos choices são usados com conjuntos de dados dinâmicos.
A escolha consiste em title e value. Quando usadas junto com o Seletor de Pessoas, title value essas opções são convertidas em perfis de usuário que têm o nome e o identificador como o identificador. Esses perfis personalizados também fazem parte dos resultados da pesquisa quando a consulta de pesquisa corresponde ao determinado title.
O exemplo a seguir descreve as opções estáticas:
{
"type": "AdaptiveCard",
"body": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "People Picker with Org search enabled"
},
{
"type": "Input.ChoiceSet",
"choices": [
{
"title": "Custom Profile 1",
"value": "Profile1"
},
{
"title": "Custom Profile 2",
"value": "Profile2"
}
],
"choices.data": {
"type": "Data.Query",
"dataset": "graph.microsoft.com/users"
},
"id": "people-picker",
"isMultiSelect": true
}
],
"actions": [
{
"type": "Action.Submit",
"title": "Submit"
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.2"
}
A imagem a seguir ilustra o Seletor de Pessoas em Cartões Adaptáveis com opções estáticas na pesquisa da organização:
Você pode implementar o Seletor de Pessoas para um gerenciamento eficiente de tarefas em diferentes cenários.
Exemplo de código
| Nome de exemplo | Descrição | C# | Node.js |
|---|---|---|---|
| Controle de seletor de pessoas em Cartões Adaptáveis | Este exemplo demonstra como usar o controle seletor de pessoas em Cartões Adaptáveis. | View | Exibir |
