Solucionar problemas em seu aplicativo Microsoft Teams
Para resolver problemas de separadores
Access Dev Tools
Pode abrir as Ferramentas de Programação no cliente do Teams para uma experiência semelhante a premir F12 (no Windows) ou Command-Option-I (no MacOS) num browser.
Ecrã de separador em branco
Se não estiver a ver os seus conteúdos na vista de separador, poderá ser:
- os seus conteúdos não podem ser apresentados num
<iframe>
. - o domínio de conteúdo não está na lista validDomains no manifesto.
Observação
É apresentado um separador em branco quando o URL do separador especificado redireciona para o ecrã de início de sessão. As páginas de início de sessão não são compostas em iFrames como uma salvaguarda contra o clickjacking. A lógica de autenticação tem de utilizar um método diferente de redirecionamento.
As alterações à minha aplicação Web não são refletidas no separador Teams
Se tiver problemas de colocação em cache consistentes ou intermitentes em que as atualizações à sua aplicação Web não aparecem quando está alojada num separador do Teams, marcar as definições da cache do servidor e utilize Cache-Control
cabeçalhos para garantir o comportamento de colocação em cache do cliente pretendido.
O botão Guardar não está ativado na caixa de diálogo de definições
Certifique-se de que chama microsoftTeams.settings.setValidityState(true)
depois de o utilizador ter introduzido ou selecionado todos os dados necessários na sua página de definições para ativar o botão Guardar.
As definições do separador não podem ser guardadas ao selecionar Guardar
Ao adicionar um separador, se selecionar Guardar , mas receber uma mensagem de erro a indicar que as definições não podem ser guardadas, o problema pode ser uma de duas classes de problemas:
A mensagem guardar êxito nunca foi recebida: se um processador de guardar tiver sido registado com
microsoftTeams.settings.registerOnSaveHandler(handler)
, a chamada de retorno tem de chamarsaveEvent.notifySuccess()
.- Se a chamada de retorno não chamar
saveEvent.notifySuccess()
no prazo de 30 segundos ou se, em vez disso, chamarsaveEvent.notifyFailure(reason)
, este erro é apresentado. - Se não tiver sido registado nenhum processador de guardar, a
saveEvent.notifySuccess()
chamada é efetuada automaticamente quando o utilizador seleciona Guardar.
- Se a chamada de retorno não chamar
As definições fornecidas eram inválidas: a outra razão pela qual as definições podem não ser guardadas é se a chamada para
microsoftTeams.setSettings(settings)
fornecer um objeto de definições inválido ou a chamada não tiver sido efetuada. Veja a secção seguinte, Problemas comuns com o objeto de definições.
Problemas comuns com o objeto de definições
-
settings.entityId
está em falta. O campo é obrigatório. -
settings.contentUrl
está em falta. O campo é obrigatório. -
settings.contentUrl
ou o opcionalsettings.removeUrl
, ousettings.websiteUrl
são fornecidos, mas não são válidos. Os URLs têm de utilizar HTTPS e também têm de ser o mesmo domínio que a página de definições ou especificados na lista dovalidDomains
manifesto.
Não é possível autenticar o utilizador ou apresentar o fornecedor de autenticação no separador
A menos que esteja a fazer uma autenticação silenciosa, tem de seguir o processo de autenticação fornecido pela biblioteca de cliente JavaScript do Microsoft Teams.
Observação
Precisamos de todo o fluxo de autenticação para iniciar e terminar no seu domínio, que tem de estar listado no validDomains
objeto no seu manifesto.
Para obter mais informações sobre a autenticação, veja como autenticar um utilizador.
Os separadores estáticos não aparecem
Existe um problema conhecido em que atualizar uma aplicação de bot existente com um separador estático novo ou atualizado não mostrará essa alteração de separador ao aceder à aplicação a partir de uma conversação de chat pessoal. Para ver a alteração, deve testar uma nova instância de utilizador ou teste ou aceder ao bot a partir da lista de opções Aplicações.
Para resolver problemas de bots
Não consigo adicionar o meu bot
As aplicações têm de ser ativadas pelo administrador de inquilinos do Microsoft 365 para que sejam carregadas pelos utilizadores finais. Em alguns casos, o inquilino do Microsoft 365 pode ter vários SKUs associados e, para que os bots funcionem em qualquer um, têm de estar ativados em todos os SKUs. Para obter mais informações, consulte Preparar o seu inquilino do Microsoft 365.
Não é possível adicionar o bot como membro de uma equipa
Os bots têm primeiro de ser carregados numa equipa antes de serem acessíveis em qualquer canal dessa equipa. Para obter mais informações sobre este processo, veja como carregar a sua aplicação numa equipa.
O meu bot não recebe a minha mensagem num canal
Os bots nos canais recebem mensagens apenas quando são explicitamente @mentioned, mesmo que esteja a responder a uma mensagem de bot anterior. A única exceção em que poderá não ver o nome do bot numa mensagem é se o bot receber uma imBack
ação como resultado de uma CardAction que enviou originalmente.
O meu bot não compreende os meus comandos num canal
Uma vez que os bots nos canais só recebem mensagens quando são @mentioned, todas as mensagens que o bot recebe num canal incluem-nas @mention no campo de texto. É uma melhor prática retirar o próprio nome do bot de todas as mensagens de texto recebidas antes de passar para a sua lógica de análise. Veja as menções para obter sugestões sobre como lidar com este caso.
Problemas com o empacotamento e o carregamento
Erro ao ler manifest.json
A maioria dos erros de manifesto fornece uma sugestão sobre que campo específico está em falta ou é inválido. No entanto, se o ficheiro JSON não puder ser lido como JSON, é utilizada esta mensagem de erro genérica.
Motivos comuns para erros de leitura do manifesto:
- JSON inválido. Utilize um IDE, como Visual Studio Code ou Visual Studio, que valide automaticamente a sintaxe JSON.
- Problemas de codificação. Utilize UTF-8 para o ficheiro manifest.json . Outras codificações, especificamente com o BOM, podem não ser legíveis.
- Pacote de .zip mal formado. O ficheiro manifest.json tem de estar no nível superior do ficheiro .zip. Tenha em atenção que a compressão de ficheiros Mac predefinida pode colocar o manifest.json num subdiretório, que não será carregado corretamente no Microsoft Teams.
Existe outra extensão com o mesmo ID
Se estiver a tentar carregar novamente um pacote atualizado com o mesmo ID, selecione o ícone Substituir no final da linha da tabela do separador em vez do botão Carregar .
Se não estiver a carregar novamente um pacote atualizado, certifique-se de que o ID é exclusivo.
Erro ao carregar a aplicação no Teams
Se receber uma mensagem de erro A análise de manifesto falhou ao carregar a aplicação para as equipas, utilize o validador de aplicações do Teams para validar o pacote de aplicações, incluindo o manifesto da aplicação e o ficheiro de especificações OpenAPI. Reveja o manifesto da aplicação e os requisitos de Descrição de OpenAPI (OAD) para resolve erros ou avisos e tente carregar a sua aplicação.
Se encontrar problemas durante a execução da aplicação no Teams, utilize os seguintes passos de resolução de problemas para identificar e resolve o problema:
Rede: selecione o separador Rede no Ferramentas de desenvolvedor para inspecionar a atividade de rede
Abra o cliente Web do Teams.
Inicie sessão com as suas credenciais do Microsoft 365.
Aceda a um chat e execute a sua aplicação de extensão de mensagem.
No canto superior direito, selecione Definições e muito mais (...). Aceda a Mais ferramentas>Ferramentas de desenvolvedor.
Selecione Rede. Selecione a opção de filtro e introduza invocar no campo de pesquisa.
Selecione um erro na lista.
No painel direito, selecione o separador Resposta .
É apresentado um objeto JSON que representa uma resposta de erro de um serviço ou API. Contém um
standardizedError
objeto comerrorCode
,errorSubCode
eerrorDescription
, que têm mais detalhes sobre o erro.
Respostas de Erro HTTP Comuns:
- Poderá ocorrer um erro 400 Pedido Incorreto se um parâmetro de pedido estiver em falta ou estiver formatado incorretamente.
- Um erro 401 Não Autorizado ou 403 Proibido sugere problemas com a chave de API, como estar em falta ou não autorizada.
- Um Erro de Servidor Interno 500 indica que o serviço não sabe como responder devido a um problema do lado do servidor.
Resolução de problemas com Ferramentas: se as informações do rastreio de rede forem insuficientes, pode construir um pedido ao seguir ao documento de descrição openAPI e utilizar ferramentas como o Swagger Editor ou o Postman para testar o pedido, incluindo o cabeçalho de autorização da chave de API, se necessário.
Se não conseguir resolve os erros, recomendamos que contacte o suporte do produto Microsoft Teams para obter mais assistência.