Ligação avançada para o chat do Teams
Pode criar uma ligação avançada para um chat do Teams, como iniciar uma nova conversa, aceder a uma conversa de canal e aceder a um ficheiro num canal.
Neste artigo, irá aprender a criar:
-
Ligação avançada para iniciar uma nova conversa
-
Ligação avançada para navegar para uma conversa
-
Ligação avançada para navegar para a conversação do canal
-
Ligação avançada para navegar para mensagens de chat
-
Ligação avançada para navegar para uma equipa
-
Ligação avançada para navegar para o canal
- Gerar uma ligação avançada para um ficheiro num canal
Ligação avançada para iniciar uma nova conversa
Pode navegar ou criar conversas privadas entre utilizadores com a biblioteca de cliente JavaScript (TeamsJS) do Microsoft Teams ao especificar o conjunto de participantes. Se não houver um chat com os participantes especificados, o link direcionará o usuário para um novo chat vazio.
Quando um utilizador cria uma nova conversa através de uma ligação avançada, o Teams cria o novo chat no estado de rascunho até o utilizador enviar a primeira mensagem. Também pode indicar o nome do chat se ainda não existir, juntamente com o texto que deve ser inserido na caixa de composição do utilizador. Considere isto um atalho para o utilizador efetuar a ação manual de navegar ou criar o chat e, em seguida, compor a mensagem.
Como exemplo de caso de utilização, se estiver a obter informações de perfil de utilizador do Microsoft 365 do seu bot como card, esta ligação avançada pode permitir que o utilizador da aplicação converse facilmente com essa pessoa.
Pode configurar ligações avançadas para iniciar um novo chat de uma das duas formas seguintes:
- Configurar uma ligação avançada para iniciar uma conversa manualmente
- Configurar uma ligação avançada para iniciar uma conversa com a biblioteca do TeamsJS
Configurar uma ligação avançada para iniciar uma conversa manualmente
Embora o uso das APIs fortemente tipadas seja recomendado, você pode usar o seguinte formato para um link profundo criado manualmente que pode ser usado em um bot, conector ou cartão de extensão de mensagem:
https://teams.microsoft.com/l/chat/0/0?tenantId=<tenantId>&users=<user1>,<user2>,...&topicName=<chat name>&message=<precanned text>
Para utilizar esta ligação avançada com o bot, especifique a ligação avançada como o destino do URL no botão do card ou toque em ação através do tipo de açãoopenUrl
.
Os parâmetros de consulta são:
-
users
: uma lista separada por vírgulas de IDs de utilizador que representam os participantes da conversa. O usuário que executa a ação é sempre incluído como um participante. O parâmetro ID de Utilizador suporta o Microsoft EntraUserPrincipalName
, como apenas um endereço de e-mail. -
topicName
: um parâmetro opcional para o nome a apresentar do chat se uma conversa tiver três ou mais utilizadores. Se este campo não for especificado, o nome de exibição do chat será baseado nos nomes dos participantes. -
message
: um campo opcional para o texto da mensagem que pretende inserir na caixa de composição do utilizador da aplicação atual enquanto o chat está no estado de rascunho.
Exemplo: https://teams.microsoft.com/l/chat/0/0?users=joe@contoso.com,bob@contoso.com&topicName=Prep%20For%20Meeting%20Tomorrow&message=Hi%20folks%2C%20kicking%20off%20a%20chat%20about%20our%20meeting%20tomorrow
Configurar uma ligação avançada para iniciar uma conversa com a biblioteca do TeamsJS
O exemplo a seguir demonstra como abrir uma mensagem de chat para um grupo de participantes com uma mensagem inicial. Pode direcionar a ligação avançada para uma conversa existente ou nova. Se já existir uma conversa, a ligação avançada é aberta nesse chat.
if(chat.isSupported()) {
const chatPromise = chat.openGroupChat({ users: ["joe@contoso.com","bob@contoso.com"], topic: "Prep For Meeting Tomorrow", message: "Hi folks kicking off chat about our meeting tomorrow"});
chatPromise.
then((result) => {/*Successful operation*/}).
catch((error) => {/*Unsuccessful operation*/});
}
else { /* handle case where capability isn't supported */ }
Ligação avançada para navegar para uma conversa
Para navegar para uma conversação de chat específica no Teams, utilize o seguinte formato de ligação avançada:
https://teams.microsoft.com/l/chat/<chatId>/conversations
O parâmetro de consulta é chatId
, que representa o ID de chat da conversação. O formato suportado para chatId
é 19:xxx.
Exemplo: https://teams.microsoft.com/l/chat/19:c6d70e392a384916c3262b15406d763e@thread.v2/conversations
Ligação avançada para navegar para a conversação do canal
Pode utilizar o seguinte formato de ligação avançada para aceder a uma conversação específica no tópico do canal:
https://teams.microsoft.com/l/message/<channelId>/<parentMessageId>?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=<parentMessageId>&teamName=<teamName>&channelName=<channelName>&createdTime=<createdTime>
Os parâmetros de consulta são:
-
channelId
: ID do Canal da conversa. Por exemplo,19:3997a8734ee5432bb9cdedb7c432ae7d@thread.tacv2
. -
tenantId
: ID do inquilino, como0d9b645f-597b-41f0-a2a3-ef103fbd91bb
. -
groupId
: ID do grupo do arquivo. Por exemplo,3606f714-ec2e-41b3-9ad1-6afb331bd35d
. -
parentMessageId
: ID da mensagem pai da conversa. -
teamName
: nome da equipe. -
channelName
: nome do canal da equipe.
Observação
Você pode ver channelId
e groupId
na URL do canal.
Exemplo: https://teams.microsoft.com/l/message/<channelId>/1648741500652?tenantId=<tenantId>&groupId=<groupId>&parentMessageId=1648741500652&teamName=<teamName>&channelName=<channelName>&createdTime=1648741500652
Ligação avançada para navegar para mensagens de chat
Utilize o seguinte formato de ligação avançada para navegar um utilizador para uma mensagem numa conversa pessoal ou de grupo no Teams:
https://teams.microsoft.com/l/message/{chatId}/{messageId}?tenantId=<tenantId>?context={"contextType":"chat"}
Os parâmetros de consulta são:
-
chatId
: ID de chat da conversação. O formato suportado parachatId
é 19: xxx. Por exemplo,19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces
.
As aplicações podem ler um ID de chat através do contexto da aplicação no Teams, do payload recebido para o bot ou através das APIs do Microsoft Graph.Observação
Para conversas um-para-um com o bot, o payload recebido para o bot contém o ID de conversação num formato:xxx.
-
messageId
: ID de mensagem exclusivo de cada mensagem numa conversa. Quando um bot publica uma mensagem no chat, amessageId
mensagem é devolvida. Também pode obter as APIs através domessageId
Microsoft Graph. Por exemplo,1563480968434
. -
context
: especifique o contextType como chat.
Exemplo: https://teams.microsoft.com/l/message/19:253f5895-9a62-4362-8d38-43f0205c702c_f1b94dcf-0aa3-4989-bcdf-ef4a5ed00f86@unq.gbl.spaces/1563480968434?context=%7B%22contextType%22:%22chat%22%7D
Pode iniciar uma conversação com um bot através de uma mensagem pré-preenchida através de uma ligação avançada. Utilize o ID do bot com 28:
o prefixo em vez de um endereço de e-mail. O formato da ligação avançada é:
https://teams.microsoft.com/l/chat/0/0?users=28:[bot guid]&message=This%20message%20was%20triggered%20by%20a%20link!
O parâmetro de consulta é bot guid
, que é o atributo ID do bot no manifesto da aplicação.
Exemplo: https://teams.microsoft.com/l/chat/0/0?users=28:47345678-2134-6534-9143-65146789012&message=This%20message%20was%20triggered%20by%20a%20link!
A ligação avançada fornecida só carrega a mensagem para a caixa de texto do chat do bot e não envia a mensagem automaticamente. Para enviar a mensagem, tem de selecionar o botão Enviar ou selecionar Enter.
Ligação avançada para navegar para uma equipa
Para navegar para uma determinada equipa, utilize o seguinte formato de ligação avançada:
https://teams.microsoft.com/l/team/<channelId>/conversations?groupId=<groupId>&tenantId=<tenantId>
Os parâmetros de consulta são:
-
channelId
: ID do canal da conversação (CODIFICADO por URL). Por exemplo, 19%3ATWLPKo8lD4v8zDxyw4FnDYY-ovnBJG5CSjmrHUAoOz41%40thread.tacv2. -
groupId
: ID do grupo do arquivo. Por exemplo, 72602e12-78ac-474c-99d6-f619710353a9. -
tenantId
: ID do inquilino, como 72f988bf-86f1-41af-91ab-2d7cd011db47.
Observação
Pode obter channelId
e groupId
no URL da equipa.
Exemplo: https://teams.microsoft.com/l/team/19%3ATWLPKo8lD4v8zDxyw4FnDYY-ovnBJG5CSjmrHUAoOz41%40thread.tacv2/conversations?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47
Ligação avançada para navegar para o canal
Pode utilizar os seguintes formatos de ligação avançada para navegar para canais específicos:
Canal padrão:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>
Exemplo:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47
Canal privado:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>&ngc=true
Exemplo:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&ngc=true
Canal partilhado:
https://teams.microsoft.com/l/channel/<channelId>/<channelName>?groupId=<groupId>&tenantId=<tenantId>&ngc=true&allowXTenantAccess=true
Exemplo:
https://teams.microsoft.com/l/channel/19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2/My%20example%20channel?groupId=72602e12-78ac-474c-99d6-f619710353a9&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&ngc=true&allowXTenantAccess=true
Os parâmetros de consulta são:
-
channelId
: ID do canal da conversação (CODIFICADO por URL). Por exemplo,19%3A9be3de4e70874c71a608dee9ba803ed3%40thread.tacv2
. -
channelName
: nome do canal da equipa (codificado por URL). Por exemplo,My%20example%20channel
. -
groupId
: ID de grupo da equipa. Por exemplo,72602e12-78ac-474c-99d6-f619710353a9
. -
tenantId
: ID do inquilino, como72f988bf-86f1-41af-91ab-2d7cd011db47
. -
ngc
: indica um canal de próxima geração. Para canais privados tem de ser definido comotrue
. -
allowXTenantAccess
: indica um canal que pode ser acedido através dos limites do inquilino. Para canais partilhados tem de ser definido comotrue
.
Gerar uma ligação avançada para um ficheiro num canal
Utilize o seguinte formato de ligação avançada num bot, conector ou extensão de mensagem card para configurar uma ligação avançada para ligar a um ficheiro num canal:
https://teams.microsoft.com/l/file/<fileId>?tenantId=<tenantId>&fileType=<fileType>&objectUrl=<objectUrl>&baseUrl=<baseUrl>&serviceName=<Name>&threadId=<threadId>&groupId=<groupId>
Os parâmetros de consulta são:
-
fileId
: ID de ficheiro exclusivo do Sharepoint Online, também conhecido comosourcedoc
ousharepointIds.listItemUniqueId
da resposta da API do Sharepoint OnlinedriveItem
. Por exemplo,1FA202A5-3762-4F10-B550-C04F81F6ACBD
. -
tenantId
: ID do inquilino, como0d9b645f-597b-41f0-a2a3-ef103fbd91bb
. -
fileType
: tipo de arquivo compatível, como .docx, .pptx, .xlsx e .pdf. -
objectUrl
: URL do objeto do arquivo. O formato éhttps://{tenantName}.sharepoint.com/sites/{TeamName}/SharedDocuments/{ChannelName}/FileName.ext
. Por exemplo,https://microsoft.sharepoint.com/teams/(filepath)
. -
baseUrl
: URL base do arquivo. O formato éhttps://{tenantName}.sharepoint.com/sites/{TeamName}
. Por exemplo,https://microsoft.sharepoint.com/teams
. -
serviceName
: Nome do serviço, ID do aplicativo. Por exemplo,teams
. -
threadId
: o threadID é o ID de equipa da equipa onde o ficheiro está armazenado. É opcional e não pode ser definido para arquivos armazenados na pasta OneDrive de um usuário. Por exemplo,19:<f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype>
. -
groupId
: ID do grupo do arquivo. Por exemplo,ae063b79-5315-4ddb-ba70-27328ba6c31e
.
Observação
- Você pode ver
threadId
egroupId
na URL do canal. - No novo cliente do Teams, o formato de ligação avançada que utiliza
objectURL
para um ficheiro num canal não é suportado, utilizeobjectUrl
no formato de ligação avançada.
O formato de exemplo a seguir ilustra link profundo para arquivos:
https://teams.microsoft.com/l/file/5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80?tenantId=0d9b645f-597b-41f0-a2a3-ef103fbd91bb&fileType=pptx&objectUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform%2FShared%20Documents%2FFC7-%20Bot%20and%20Action%20Infra%2FKaizala%20Actions%20in%20Adaptive%20Cards%20-%20Deck.pptx&baseUrl=https%3A%2F%2Fmicrosoft.sharepoint.com%2Fteams%2FActionPlatform&serviceName=teams&threadId=19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype&groupId=ae063b79-5315-4ddb-ba70-27328ba6c31e
Serialização deste objeto
{
fileId: "5E0154FC-F2B4-4DA5-8CDA-F096E72C0A80",
tenantId: "0d9b645f-597b-41f0-a2a3-ef103fbd91bb",
filetype: = "pptx",
objectUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform/Shared Documents/FC7- Bot and Action Infra/Kaizala Actions in Adaptive Cards - Deck.pptx",
baseUrl: "https://microsoft.sharepoint.com/teams/ActionPlatform",
serviceName: "teams",
threadId: = "19:f8fbfc4d89e24ef5b3b8692538cebeb7@thread.skype",
groupId: "ae063b79-5315-4ddb-ba70-27328ba6c31e"
}
Exemplo de código
Nome do exemplo | Descrição | .NET | Node.js |
---|---|---|---|
Ligação avançada que consome o ID de Subentidade | Este exemplo mostra como utilizar uma ligação avançada de um chat de bot para um separador que consome o ID de Subentidade. Também mostra ligações avançadas para: - Navegar para uma aplicação - Navegar para uma conversa - Abrir uma caixa de diálogo de perfil - Abrir uma caixa de diálogo de agendamento |
View | View |