Resolver problemas de suplementos baseados em eventos e relatórios de spam

À medida que desenvolve o seu suplemento baseado em eventos ou relatórios de spam , pode deparar-se com problemas, como o suplemento não estar a carregar ou um evento não estar a ocorrer. As secções seguintes fornecem orientações sobre como resolver problemas com o seu suplemento.

Rever os pré-requisitos das funcionalidades

Verificar os requisitos do manifesto e do JavaScript

  • Certifique-se de que as seguintes condições são cumpridas no manifesto do suplemento.

    • Verifique se o URL de localização do ficheiro de origem do suplemento está disponível publicamente e não está bloqueado por uma firewall. Este URL é especificado no elemento SourceLocation do manifesto apenas do suplemento ou na propriedade "extensions.runtimes.code.page" do manifesto unificado para o Microsoft 365.

    • Verifique se o <elemento Runtimes> (manifesto apenas de suplemento) ou a propriedade "extensions.runtimes.code" (manifesto unificado) referencia corretamente o ficheiro HTML ou JavaScript que contém os processadores de eventos. O Outlook Clássico no Windows utiliza o ficheiro JavaScript durante o runtime, enquanto o Outlook na Web, na nova IU do Mac e o novo Outlook no Windows utilizam o ficheiro HTML. Para obter um exemplo de como isto é configurado no manifesto, veja a secção "Configurar o manifesto" de Definir automaticamente o assunto de uma nova mensagem ou compromisso.

      Para o Outlook clássico no Windows, tem de agrupar todo o código JavaScript de processamento de eventos neste ficheiro JavaScript referenciado no manifesto. Tenha em atenção que um pacote JavaScript grande pode causar problemas com o desempenho do suplemento. Recomendamos o pré-processamento de operações pesadas, para que não sejam incluídas no código de processamento de eventos.

  • Verifique se o ficheiro JavaScript de processamento de eventos referenciado pelo cliente do Outlook no Windows chama Office.actions.associate. Isto garante que o nome do processador de eventos especificado no manifesto está mapeado para o seu equivalente JavaScript.

    Dica

    Se o seu suplemento tiver apenas um ficheiro JavaScript referenciado pelo Outlook na Web, no Windows (novo e clássico) e no Mac, é recomendado verificar em que plataforma o suplemento está a ser executado para determinar quando chamar Office.actions.associate, conforme mostrado no seguinte código.

    if (Office.context.platform === Office.PlatformType.PC || Office.context.platform == null) {
      Office.actions.associate("onNewMessageComposeHandler", onNewMessageComposeHandler);
      Office.actions.associate("onNewAppointmentComposeHandler", onNewAppointmentComposeHandler);
    }
    
  • O código JavaScript de suplementos baseados em eventos e relatórios de spam que são executados no Outlook clássico no Windows só suporta especificações ECMAScript 2016 e anteriores. Alguns exemplos de sintaxe de programação a evitar são os seguintes.

    • Evite utilizar async instruções e await no seu código. Incluir estes no código JavaScript fará com que o suplemento exceda o tempo limite.
    • Evite utilizar o operador condicional (ternary), uma vez que impedirá o carregamento do suplemento.

    Se o seu suplemento tiver apenas um ficheiro JavaScript referenciado pelo Outlook na Web, no Windows (novo e clássico) e no Mac, tem de limitar o código ao ECMAScript 2016 para garantir que o suplemento é executado no Outlook clássico no Windows. No entanto, se tiver um ficheiro JavaScript separado referenciado pelo Outlook na Web, no Mac e pelo novo Outlook no Windows, pode implementar uma especificação ECMAScript posterior nesse ficheiro.

Depurar o suplemento

  • À medida que efetua alterações ao seu suplemento, tenha em atenção que:

    • Se atualizar o manifesto, remova o suplemento e, em seguida, carregue-o em sideload novamente. Se estiver a utilizar o Outlook no Windows, também tem de fechar e reabrir o Outlook.
    • Se efetuar alterações a ficheiros que não o manifesto, feche e reabra o cliente do Outlook no Windows ou no Mac ou atualize o separador do browser que executa o Outlook na Web.
    • Se ainda não conseguir ver as suas alterações depois de efetuar estes passos, limpe a cache do Office.
  • À medida que testa o seu suplemento no Outlook clássico no Windows:

    • Para suplementos baseados em eventos, verifique o Visualizador de Eventos quanto a erros de suplementos comunicados.

      1. No Visualizador de Eventos, selecione Aplicação de Registos> do Windows.
      2. No painel Ações , selecione Filtrar Registo Atual.
      3. No menu pendente Registado , selecione o seu período de tempo de registo preferido.
      4. Selecione a caixa de verificação Erro .
      5. No campo IDs de Evento, introduza 63.
      6. Selecione OK para aplicar os filtros.

      Uma amostra das definições filtrar registo atual do Visualizador de Eventos configurada para mostrar apenas erros do Outlook com o ID de evento 63 que ocorreram na última hora.

    • Verifique se o ficheiro bundle.js é transferido para a seguinte pasta no Explorador de Ficheiros. Substitua o texto incluído pelas [] suas informações aplicáveis.

      %LOCALAPPDATA%\Microsoft\Office\16.0\Wef\{[Outlook profile GUID]}\[Outlook mail account encoding]\Javascript\[Add-in ID]_[Add-in Version]_[locale]
      

      Dica

      Se o ficheiro bundle.js não for apresentado na pasta Wef , experimente o seguinte:

  • À medida que testa o seu suplemento no Outlook no Windows (clássico) ou Mac, ative o registo de runtime para identificar possíveis problemas de instalação de manifestos e suplementos. Para obter orientações sobre como utilizar o registo de runtime, veja Depurar o suplemento com o registo de runtime.

  • Defina pontos de interrupção no código para depurar o suplemento. Para obter instruções específicas da plataforma, veja Depurar suplementos baseados em eventos e relatórios de spam.

Procurar ajuda adicional

Se ainda precisar de ajuda depois de executar os passos de resolução de problemas recomendados, abra um problema do GitHub. Inclua capturas de ecrã, gravações de vídeo ou registos de runtime para complementar o relatório.

Confira também