Obter e definir categorias

No Outlook, um usuário pode aplicar categorias a mensagens e compromissos como um meio de organizar os dados da caixa de correio. O usuário define a lista master de categorias codificadas por cores para sua caixa de correio e pode aplicar uma ou mais dessas categorias a qualquer mensagem ou item de compromisso. Cada categoria na lista master é representada pelo nome e cor especificados pelo usuário. Você pode usar a API JavaScript do Office para gerenciar as categorias da lista master na caixa de correio e as categorias aplicadas a um item.

Observação

O suporte para esse recurso foi introduzido no conjunto de requisitos 1.8. Confira, clientes e plataformas que oferecem suporte a esse conjunto de requisitos.

Experimente

Experimente exemplos interativos para saber como gerenciar categorias com um suplemento do Outlook. Instale o suplemento Script Lab para Outlook e experimente os snippets de exemplo a seguir.

  • Trabalhar com a lista master de categorias
  • Trabalhar com categorias de item

Para saber mais sobre o Script Lab, consulte Explorar a API JavaScript do Office usando o Script Lab.

Gerenciar categorias na lista master

Somente as categorias na lista master da sua caixa de correio podem ser aplicadas a uma mensagem ou compromisso. Você pode usar a API JavaScript do Office para adicionar, obter e remover categorias master.

Pré-requisito

Para gerenciar a lista master de categorias, seu suplemento deve solicitar a permissão de caixa de correio de leitura/gravação em seu manifesto. A marcação varia de acordo com o tipo de manifesto que seu suplemento usa.

  • Manifesto somente do suplemento: defina o <Permissions> elemento como ReadWriteMailbox.
  • Manifesto "authorization.permissions.resourceSpecific"unificado para Microsoft 365: defina a "name" propriedade de um objeto na matriz como "Mailbox.ReadWrite.User".

Adicionar categorias master

O exemplo a seguir mostra como adicionar uma categoria chamada "Urgente!" à lista master chamando addAsync em mailbox.masterCategories.

const masterCategoriesToAdd = [
    {
        "displayName": "Urgent!",
        "color": Office.MailboxEnums.CategoryColor.Preset0
    }
];

Office.context.mailbox.masterCategories.addAsync(masterCategoriesToAdd, function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log("Successfully added categories to master list");
    } else {
        console.log("masterCategories.addAsync call failed with error: " + asyncResult.error.message);
    }
});

Obter categorias master

O exemplo a seguir mostra como obter a lista de categorias chamando getAsync em mailbox.masterCategories.

Office.context.mailbox.masterCategories.getAsync(function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.log("Action failed with error: " + asyncResult.error.message);
    } else {
        const masterCategories = asyncResult.value;
        console.log("Master categories:");
        masterCategories.forEach(function (item) {
            console.log("-- " + JSON.stringify(item));
        });
    }
});

Remover categorias master

O exemplo a seguir mostra como remover a categoria "Urgente!" da lista master chamando removeAsync em mailbox.masterCategories.

const masterCategoriesToRemove = ["Urgent!"];

Office.context.mailbox.masterCategories.removeAsync(masterCategoriesToRemove, function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log("Successfully removed categories from master list");
    } else {
        console.log("masterCategories.removeAsync call failed with error: " + asyncResult.error.message);
    }
});

Gerenciar categorias em uma mensagem ou compromisso

Use o objeto de nível item.categories de item para adicionar, obter ou remover categorias na mensagem ou compromisso atual.

Importante

Uma categoria já deve existir na lista master antes que você possa aplicá-la. Para obter mais informações, consulte Gerenciar categorias na lista master.

Adicionar categorias a um item

O exemplo a seguir mostra como aplicar a categoria chamada "Urgente!" ao item atual chamando addAsync no item.categories.

const categoriesToAdd = ["Urgent!"];

Office.context.mailbox.item.categories.addAsync(categoriesToAdd, function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log("Successfully added categories");
    } else {
        console.log("categories.addAsync call failed with error: " + asyncResult.error.message);
    }
});

Obter as categorias de um item

O exemplo a seguir mostra como obter as categorias aplicadas ao item atual chamando getAsync em item.categories.

Office.context.mailbox.item.categories.getAsync(function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
        console.log("Action failed with error: " + asyncResult.error.message);
    } else {
        const categories = asyncResult.value;
        console.log("Categories:");
        categories.forEach(function (item) {
            console.log("-- " + JSON.stringify(item));
        });
    }
});

Remover categorias de um item

O exemplo a seguir mostra como remover a categoria denominada "Urgente!" do item atual chamando removeAsync no item.categories.

const categoriesToRemove = ["Urgent!"];

Office.context.mailbox.item.categories.removeAsync(categoriesToRemove, function (asyncResult) {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log("Successfully removed categories");
    } else {
        console.log("categories.removeAsync call failed with error: " + asyncResult.error.message);
    }
});

Confira também