Share via


Office.MessageCompose interface

O modo de composição de mensagem do Office.context.mailbox.item.

Importante: este é um objeto interno do Outlook, não exposto diretamente por meio de interfaces existentes. Você deve tratar isso como um modo de Office.context.mailbox.item. Para obter mais informações, consulte a página Modelo de Objeto .

Interfaces pai:

Extends

Propriedades

bcc

Obtém um objeto que fornece métodos para obter ou atualizar os destinatários na linha Bcc (cópia de carbono cego) de uma mensagem.

Dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem ser aplicados em quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

body

Obtém um objeto que fornece métodos para manipular o corpo de um item.

cc

Fornece acesso aos destinatários na linha Cc (com cópia) de uma mensagem. O tipo de objeto e o nível de acesso dependem do modo do item atual.

A propriedade cc retorna um objeto Recipients que fornece métodos para obter ou atualizar os destinatários na linha Cc da mensagem. No entanto, dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem se aplicar a quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

conversationId

Obtém um identificador da conversa de email que contém uma mensagem específica.

Você pode obter um número inteiro para esta propriedade se o aplicativo de email estiver ativado nos formulários de leitura ou nas respostas em formulários de composição. Se, posteriormente, o usuário alterar o assunto da mensagem de resposta, ao enviar a resposta, a ID da conversa daquela mensagem será alterada e o valor obtido anteriormente não mais se aplicará.

Você obtém nulo para esta propriedade para um novo item em um formulário de composição. Se o usuário definir um assunto e salvar o item, a propriedade conversationId retornará um valor.

itemType

Obtém o tipo de item que representa uma instância.

A itemType propriedade retorna um dos valores de ItemType enumeração, indicando se a instância do objeto de item é uma mensagem ou um compromisso.

subject

Obtém ou define a descrição que aparece no campo de assunto de um item.

A propriedade subject obtém ou define o assunto completo do item, conforme enviado pelo servidor de email.

A propriedade subject retorna um objeto Subject que fornece métodos para obter e definir o assunto.

to

Fornece acesso aos destinatários na linha Para de uma mensagem. O tipo de objeto e o nível de acesso dependem do modo do item atual.

A propriedade to retorna um objeto Recipients que fornece métodos para obter ou atualizar os destinatários na linha Para da mensagem. No entanto, dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem se aplicar a quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

Métodos

addFileAttachmentAsync(uri, attachmentName, options, callback)

Adiciona um arquivo a uma mensagem ou um compromisso como um anexo.

O método addFileAttachmentAsync carrega o arquivo no URI especificado e anexa-o ao item no formulário de composição.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Importante: em builds recentes do Outlook no Windows, foi introduzido um bug que acrescenta incorretamente um Authorization: Bearer cabeçalho a essa ação (seja usando essa API ou a interface do usuário do Outlook). Para contornar esse problema, você pode tentar usar a API introduzida com o addFileAttachmentFromBase64 conjunto de requisitos 1.8.

addFileAttachmentAsync(uri, attachmentName, callback)

Adiciona um arquivo a uma mensagem ou um compromisso como um anexo.

O método addFileAttachmentAsync carrega o arquivo no URI especificado e anexa-o ao item no formulário de composição.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Importante: em builds recentes do Outlook no Windows, foi introduzido um bug que acrescenta incorretamente um Authorization: Bearer cabeçalho a essa ação (seja usando essa API ou a interface do usuário do Outlook). Para contornar esse problema, você pode tentar usar a API introduzida com o addFileAttachmentFromBase64 conjunto de requisitos 1.8.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso.

O método addItemAttachmentAsync anexa o item com o identificador do Exchange especificado ao item no formulário de composição. Se você especificar uma função de retorno de chamada, o método será chamado com um parâmetro, asyncResult, que contém o identificador de anexo ou um código que indica qualquer erro ocorrido ao anexar o item. Você pode usar o parâmetro de opções para passar informações de estado para a função de retorno de chamada, se necessário.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Se o Suplemento do Office estiver em execução no Outlook na Web, o método addItemAttachmentAsync pode anexar itens que não sejam aquele que você está editando; no entanto, isso não tem suporte e não é recomendado.

addItemAttachmentAsync(itemId, attachmentName, callback)

Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso.

O método addItemAttachmentAsync anexa o item com o identificador do Exchange especificado ao item no formulário de composição. Se você especificar uma função de retorno de chamada, o método será chamado com um parâmetro, asyncResult, que contém o identificador de anexo ou um código que indica qualquer erro ocorrido ao anexar o item. Você pode usar o parâmetro de opções para passar informações de estado para a função de retorno de chamada, se necessário.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Se o Suplemento do Office estiver em execução no Outlook na Web, o método addItemAttachmentAsync pode anexar itens que não sejam aquele que você está editando; no entanto, isso não tem suporte e não é recomendado.

getSelectedDataAsync(coercionType, options, callback)

Retorna de forma assíncrona os dados selecionados do assunto ou do corpo de uma mensagem.

Se não houver seleção, mas o cursor estiver no corpo ou no assunto, o método retornará uma cadeia de caracteres vazia para os dados selecionados. Se um campo que não seja o corpo ou o assunto estiver selecionado, o método retorna o erro InvalidSelection.

Para acessar os dados selecionados da função de retorno de chamada, chame asyncResult.value.data. Para acessar a propriedade de origem da qual a seleção vem, chame asyncResult.value.sourceProperty, que será body ou subject.

getSelectedDataAsync(coercionType, callback)

Retorna de forma assíncrona os dados selecionados do assunto ou do corpo de uma mensagem.

Se não houver seleção, mas o cursor estiver no corpo ou no assunto, o método retornará uma cadeia de caracteres vazia para os dados selecionados. Se um campo que não seja o corpo ou o assunto estiver selecionado, o método retorna o erro InvalidSelection.

Para acessar os dados selecionados da função de retorno de chamada, chame asyncResult.value.data. Para acessar a propriedade de origem da qual a seleção vem, chame asyncResult.value.sourceProperty, que será body ou subject.

loadCustomPropertiesAsync(callback, userContext)

Carrega de forma assíncrona as propriedades personalizadas para esse suplemento no item selecionado.

As propriedades personalizadas são armazenadas como pares de valor-chave por aplicativo, por item. Esse método retorna um objeto CustomProperties no retorno de chamada, que fornece métodos para acessar as propriedades personalizadas específicas do item atual e do suplemento atual. As propriedades personalizadas não são criptografadas no item, portanto, isso não deve ser usado como armazenamento seguro.

As propriedades personalizadas são fornecidas como um objeto CustomProperties na propriedade asyncResult.value. Esse objeto pode ser usado para obter, definir, salvar e remover propriedades personalizadas do item de email.

removeAttachmentAsync(attachmentId, options, callback)

Remove um anexo de uma mensagem ou de um compromisso.

O método removeAttachmentAsync remove o anexo com o identificador especificado do item. Como prática recomendada, deve-se usar o identificador do anexo para remover um anexo somente se o mesmo aplicativo de email tiver adicionado esse anexo na mesma sessão. Em Outlook na Web e em dispositivos móveis, o identificador de anexo é válido somente na mesma sessão. Uma sessão acaba quando o usuário fecha o aplicativo ou se o usuário começa a compor um formulário embutido e, posteriormente, aparece o formulário para continuar em uma janela separada.

removeAttachmentAsync(attachmentId, callback)

Remove um anexo de uma mensagem ou de um compromisso.

O método removeAttachmentAsync remove o anexo com o identificador especificado do item. Como prática recomendada, deve-se usar o identificador do anexo para remover um anexo somente se o mesmo aplicativo de email tiver adicionado esse anexo na mesma sessão. Em Outlook na Web e em dispositivos móveis, o identificador de anexo é válido somente na mesma sessão. Uma sessão acaba quando o usuário fecha o aplicativo ou se o usuário começa a compor um formulário embutido e, posteriormente, aparece o formulário para continuar em uma janela separada.

setSelectedDataAsync(data, options, callback)

Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem.

O setSelectedDataAsync método insere a cadeia de caracteres especificada no local do cursor no assunto ou no corpo do item ou, se o texto for selecionado no editor, ele substituirá o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, um erro será retornado. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data, callback)

Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem.

O setSelectedDataAsync método insere a cadeia de caracteres especificada no local do cursor no assunto ou no corpo do item ou, se o texto for selecionado no editor, ele substituirá o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, um erro será retornado. Após a inserção, o cursor é colocado no final do conteúdo inserido.

Detalhes da propriedade

bcc

Obtém um objeto que fornece métodos para obter ou atualizar os destinatários na linha Bcc (cópia de carbono cego) de uma mensagem.

Dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem ser aplicados em quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

bcc: Recipients;

Valor da propriedade

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

Office.context.mailbox.item.bcc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.bcc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.bcc.getAsync(callback);

function callback(asyncResult) {
    const arrayOfBccRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-bcc-message-compose.yaml

Office.context.mailbox.item.bcc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgBcc = asyncResult.value;
    console.log("Message being blind-copied to:");
    for (let i = 0; i < msgBcc.length; i++) {
      console.log(msgBcc[i].displayName + " (" + msgBcc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailBcc")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.bcc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Bcc field.");
  } else {
    console.error(asyncResult.error);
  }
});

body

Obtém um objeto que fornece métodos para manipular o corpo de um item.

body: Body;

Valor da propriedade

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// This example gets the body of the item as plain text.
Office.context.mailbox.item.body.getAsync(
    "text",
    { asyncContext: "This is passed to the callback" },
    function callback(result) {
        // Do something with the result.
    });

// The following is an example of the result parameter passed to the callback function.
{
    "value": "TEXT of whole body (including threads below)",
    "status": "succeeded",
    "asyncContext": "This is passed to the callback"
}

cc

Fornece acesso aos destinatários na linha Cc (com cópia) de uma mensagem. O tipo de objeto e o nível de acesso dependem do modo do item atual.

A propriedade cc retorna um objeto Recipients que fornece métodos para obter ou atualizar os destinatários na linha Cc da mensagem. No entanto, dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem se aplicar a quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

cc: Recipients;

Valor da propriedade

Comentários

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

Office.context.mailbox.item.cc.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.cc.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.cc.getAsync(callback);

function callback(asyncResult) {
    const arrayOfCcRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-cc-message-compose.yaml

Office.context.mailbox.item.cc.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgCc = asyncResult.value;
    console.log("Message being copied to:");
    for (let i = 0; i < msgCc.length; i++) {
      console.log(msgCc[i].displayName + " (" + msgCc[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailCc")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.cc.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting Cc field.");
  } else {
    console.error(asyncResult.error);
  }
});

conversationId

Obtém um identificador da conversa de email que contém uma mensagem específica.

Você pode obter um número inteiro para esta propriedade se o aplicativo de email estiver ativado nos formulários de leitura ou nas respostas em formulários de composição. Se, posteriormente, o usuário alterar o assunto da mensagem de resposta, ao enviar a resposta, a ID da conversa daquela mensagem será alterada e o valor obtido anteriormente não mais se aplicará.

Você obtém nulo para esta propriedade para um novo item em um formulário de composição. Se o usuário definir um assunto e salvar o item, a propriedade conversationId retornará um valor.

conversationId: string;

Valor da propriedade

string

Comentários

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-conversation-id-message.yaml

console.log(`Conversation ID: ${Office.context.mailbox.item.conversationId}`);

itemType

Obtém o tipo de item que representa uma instância.

A itemType propriedade retorna um dos valores de ItemType enumeração, indicando se a instância do objeto de item é uma mensagem ou um compromisso.

itemType: MailboxEnums.ItemType | string;

Valor da propriedade

Comentários

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-item-type.yaml

const itemType = Office.context.mailbox.item.itemType;
switch (itemType) {
    case Office.MailboxEnums.ItemType.Appointment:
        console.log(`Current item is an ${itemType}.`);
        break;
    case Office.MailboxEnums.ItemType.Message:
        console.log(`Current item is a ${itemType}. A message could be an email, meeting request, meeting response, or meeting cancellation.`);
        break;
}

subject

Obtém ou define a descrição que aparece no campo de assunto de um item.

A propriedade subject obtém ou define o assunto completo do item, conforme enviado pelo servidor de email.

A propriedade subject retorna um objeto Subject que fornece métodos para obter e definir o assunto.

subject: Subject;

Valor da propriedade

Comentários

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/get-set-subject-compose.yaml

Office.context.mailbox.item.subject.getAsync((result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Subject: ${result.value}`);
});

...

let subject = "Hello World!";
Office.context.mailbox.item.subject.setAsync(subject, (result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error(`Action failed with message ${result.error.message}`);
    return;
  }
  console.log(`Successfully set subject to ${subject}`);
});

to

Fornece acesso aos destinatários na linha Para de uma mensagem. O tipo de objeto e o nível de acesso dependem do modo do item atual.

A propriedade to retorna um objeto Recipients que fornece métodos para obter ou atualizar os destinatários na linha Para da mensagem. No entanto, dependendo do cliente/plataforma (ou seja, Windows, Mac etc.), os limites podem se aplicar a quantos destinatários você pode obter ou atualizar. Consulte o objeto Destinatários para obter mais detalhes.

to: Recipients;

Valor da propriedade

Comentários

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

Office.context.mailbox.item.to.setAsync( ['alice@contoso.com', 'bob@contoso.com'] );
Office.context.mailbox.item.to.addAsync( ['jason@contoso.com'] );
Office.context.mailbox.item.to.getAsync(callback);

function callback(asyncResult) {
    const arrayOfToRecipients = asyncResult.value;
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/30-recipients-and-attendees/get-set-to-message-compose.yaml

Office.context.mailbox.item.to.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const msgTo = asyncResult.value;
    console.log("Message being sent to:");
    for (let i = 0; i < msgTo.length; i++) {
      console.log(msgTo[i].displayName + " (" + msgTo[i].emailAddress + ")");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

const email = $("#emailTo")
  .val()
  .toString();
const emailArray = [email];
Office.context.mailbox.item.to.setAsync(emailArray, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Succeeded in setting To field.");
  } else {
    console.error(asyncResult.error);
  }
});

Detalhes do método

addFileAttachmentAsync(uri, attachmentName, options, callback)

Adiciona um arquivo a uma mensagem ou um compromisso como um anexo.

O método addFileAttachmentAsync carrega o arquivo no URI especificado e anexa-o ao item no formulário de composição.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Importante: em builds recentes do Outlook no Windows, foi introduzido um bug que acrescenta incorretamente um Authorization: Bearer cabeçalho a essa ação (seja usando essa API ou a interface do usuário do Outlook). Para contornar esse problema, você pode tentar usar a API introduzida com o addFileAttachmentFromBase64 conjunto de requisitos 1.8.

addFileAttachmentAsync(uri: string, attachmentName: string, options: Office.AsyncContextOptions & { isInline: boolean }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

uri

string

O URI que fornece o local do arquivo anexado à mensagem ou compromisso. O comprimento máximo é de 2048 caracteres.

attachmentName

string

O nome do anexo que é mostrado enquanto o anexo está sendo carregado. O tamanho máximo é de 255 caracteres.

options

Office.AsyncContextOptions & { isInline: boolean }

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejam acessar na função de retorno de chamada. isInline: se for true, indica que o anexo será mostrado embutido no corpo da mensagem e não deve ser exibido na lista de anexos.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Em caso de êxito, o identificador do anexo será fornecido na propriedade asyncResult.value. Se houver falha ao carregar o anexo, o objeto asyncResult conterá um objeto Error que fornece uma descrição do erro.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • AttachmentSizeExceeded: o anexo é maior do que o permitido.

  • FileTypeNotSupported: o anexo tem uma extensão que não é permitida.

  • NumberOfAttachmentsExceeded: a mensagem ou compromisso tem muitos anexos.

Exemplos

function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

function addAttachment() {
    // The values in asyncContext can be accessed in the callback.
    const options = { 'asyncContext': { var1: 1, var2: 2 } };

    const attachmentURL = "https://contoso.com/rtm/icon.png";
    Office.context.mailbox.item.addFileAttachmentAsync(attachmentURL, attachmentURL, options, callback);
}
// The following example adds an image file as an inline attachment and
// references the attachment in the message body.
Office.context.mailbox.item.addFileAttachmentAsync(
    "http://i.imgur.com/WJXklif.png",
    "cute_bird.png",
    {
        isInline: true
    },
    function (asyncResult) {
        Office.context.mailbox.item.body.setAsync(
            "<p>Here's a cute bird!</p><img src='cid:cute_bird.png'>",
            {
                "coercionType": "html"
            },
            function (asyncResult) {
                // Do something here.
            });
    });
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentUrl = $("#attachmentUrl").val();
Office.context.mailbox.item.addFileAttachmentAsync(
    attachmentUrl,
    getFileName(attachmentUrl),
    { "asyncContext" : { var1: 1, var2: true } },
    function(result) { console.log(result); });

addFileAttachmentAsync(uri, attachmentName, callback)

Adiciona um arquivo a uma mensagem ou um compromisso como um anexo.

O método addFileAttachmentAsync carrega o arquivo no URI especificado e anexa-o ao item no formulário de composição.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Importante: em builds recentes do Outlook no Windows, foi introduzido um bug que acrescenta incorretamente um Authorization: Bearer cabeçalho a essa ação (seja usando essa API ou a interface do usuário do Outlook). Para contornar esse problema, você pode tentar usar a API introduzida com o addFileAttachmentFromBase64 conjunto de requisitos 1.8.

addFileAttachmentAsync(uri: string, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

uri

string

O URI que fornece o local do arquivo anexado à mensagem ou compromisso. O comprimento máximo é de 2048 caracteres.

attachmentName

string

O nome do anexo que é mostrado enquanto o anexo está sendo carregado. O tamanho máximo é de 255 caracteres.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Em caso de êxito, o identificador do anexo será fornecido na propriedade asyncResult.value. Se houver falha ao carregar o anexo, o objeto asyncResult conterá um objeto Error que fornece uma descrição do erro.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • AttachmentSizeExceeded: o anexo é maior do que o permitido.

  • FileTypeNotSupported: o anexo tem uma extensão que não é permitida.

  • NumberOfAttachmentsExceeded: a mensagem ou compromisso tem muitos anexos.

addItemAttachmentAsync(itemId, attachmentName, options, callback)

Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso.

O método addItemAttachmentAsync anexa o item com o identificador do Exchange especificado ao item no formulário de composição. Se você especificar uma função de retorno de chamada, o método será chamado com um parâmetro, asyncResult, que contém o identificador de anexo ou um código que indica qualquer erro ocorrido ao anexar o item. Você pode usar o parâmetro de opções para passar informações de estado para a função de retorno de chamada, se necessário.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Se o Suplemento do Office estiver em execução no Outlook na Web, o método addItemAttachmentAsync pode anexar itens que não sejam aquele que você está editando; no entanto, isso não tem suporte e não é recomendado.

addItemAttachmentAsync(itemId: any, attachmentName: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

itemId

any

O identificador do Exchange do item a anexar. O comprimento máximo é de 100 caracteres.

attachmentName

string

O nome do anexo que é mostrado enquanto o anexo está sendo carregado. O tamanho máximo é de 255 caracteres.

options
Office.AsyncContextOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejam acessar na função de retorno de chamada.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Em caso de êxito, o identificador do anexo será fornecido na propriedade asyncResult.value. Se houver falha ao adicionar o anexo, o objeto asyncResult conterá um objeto Error que fornece uma descrição do erro.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • NumberOfAttachmentsExceeded: a mensagem ou compromisso tem muitos anexos.

Exemplos

// The following example adds an existing Outlook item as an attachment
// with the name `My Attachment`.
function callback(result) {
    if (result.error) {
        console.log(result.error);
    } else {
        console.log("Attachment added");
    }
}

function addAttachment() {
    // EWS ID of item to attach (shortened for readability).
    const itemId = "AAMkADI1...AAA=";

    // The values in asyncContext can be accessed in the callback.
    const options = { 'asyncContext': { var1: 1, var2: 2 } };

    Office.context.mailbox.item.addItemAttachmentAsync(itemId, "My Attachment", options, callback);
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

const attachmentItemId = $("#attachmentItemId").val();
Office.context.mailbox.item.addItemAttachmentAsync(
    attachmentItemId,
    "My attachment",
    { "asyncContext" : { var3: 3, var4: false } },
    function(result) { console.log(result); });

addItemAttachmentAsync(itemId, attachmentName, callback)

Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso.

O método addItemAttachmentAsync anexa o item com o identificador do Exchange especificado ao item no formulário de composição. Se você especificar uma função de retorno de chamada, o método será chamado com um parâmetro, asyncResult, que contém o identificador de anexo ou um código que indica qualquer erro ocorrido ao anexar o item. Você pode usar o parâmetro de opções para passar informações de estado para a função de retorno de chamada, se necessário.

Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync para remover o anexo na mesma sessão.

Se o Suplemento do Office estiver em execução no Outlook na Web, o método addItemAttachmentAsync pode anexar itens que não sejam aquele que você está editando; no entanto, isso não tem suporte e não é recomendado.

addItemAttachmentAsync(itemId: any, attachmentName: string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

itemId

any

O identificador do Exchange do item a anexar. O comprimento máximo é de 100 caracteres.

attachmentName

string

O nome do anexo que é mostrado enquanto o anexo está sendo carregado. O tamanho máximo é de 255 caracteres.

callback

(asyncResult: Office.AsyncResult<string>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Em caso de êxito, o identificador do anexo será fornecido na propriedade asyncResult.value. Se houver falha ao adicionar o anexo, o objeto asyncResult conterá um objeto Error que fornece uma descrição do erro.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • NumberOfAttachmentsExceeded: a mensagem ou compromisso tem muitos anexos.

getSelectedDataAsync(coercionType, options, callback)

Retorna de forma assíncrona os dados selecionados do assunto ou do corpo de uma mensagem.

Se não houver seleção, mas o cursor estiver no corpo ou no assunto, o método retornará uma cadeia de caracteres vazia para os dados selecionados. Se um campo que não seja o corpo ou o assunto estiver selecionado, o método retorna o erro InvalidSelection.

Para acessar os dados selecionados da função de retorno de chamada, chame asyncResult.value.data. Para acessar a propriedade de origem da qual a seleção vem, chame asyncResult.value.sourceProperty, que será body ou subject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Parâmetros

coercionType

Office.CoercionType | string

Solicita um formato para os dados. Se Text, o método retornará o texto simples como uma cadeia de caracteres, removendo todas as marcas HTML presentes. Se Html, o método retornará o texto selecionado, seja plaintext ou HTML.

options
Office.AsyncContextOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejam acessar na função de retorno de chamada.

callback

(asyncResult: Office.AsyncResult<any>) => void

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Os dados selecionados como uma cadeia de caracteres com formato determinado por coercionType.

Comentários

[ Conjunto de API: Caixa de correio 1.2 ]

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// Get selected data.
Office.initialize = function () {
    Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, {}, getCallback);
};

function getCallback(asyncResult) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;

    console.log("Selected text in " + prop + ": " + text);
}

getSelectedDataAsync(coercionType, callback)

Retorna de forma assíncrona os dados selecionados do assunto ou do corpo de uma mensagem.

Se não houver seleção, mas o cursor estiver no corpo ou no assunto, o método retornará uma cadeia de caracteres vazia para os dados selecionados. Se um campo que não seja o corpo ou o assunto estiver selecionado, o método retorna o erro InvalidSelection.

Para acessar os dados selecionados da função de retorno de chamada, chame asyncResult.value.data. Para acessar a propriedade de origem da qual a seleção vem, chame asyncResult.value.sourceProperty, que será body ou subject.

getSelectedDataAsync(coercionType: Office.CoercionType | string, callback: (asyncResult: Office.AsyncResult<any>) => void): void;

Parâmetros

coercionType

Office.CoercionType | string

Solicita um formato para os dados. Se Text, o método retornará o texto simples como uma cadeia de caracteres, removendo todas as marcas HTML presentes. Se Html, o método retornará o texto selecionado, seja plaintext ou HTML.

callback

(asyncResult: Office.AsyncResult<any>) => void

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Os dados selecionados como uma cadeia de caracteres com formato determinado por coercionType.

Comentários

[ Conjunto de API: Caixa de correio 1.2 ]

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/get-selected-data.yaml

Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const text = asyncResult.value.data;
    const prop = asyncResult.value.sourceProperty;
    console.log("Selected text in " + prop + ": " + text);
  } else {
    console.error(asyncResult.error);
  }
});

loadCustomPropertiesAsync(callback, userContext)

Carrega de forma assíncrona as propriedades personalizadas para esse suplemento no item selecionado.

As propriedades personalizadas são armazenadas como pares de valor-chave por aplicativo, por item. Esse método retorna um objeto CustomProperties no retorno de chamada, que fornece métodos para acessar as propriedades personalizadas específicas do item atual e do suplemento atual. As propriedades personalizadas não são criptografadas no item, portanto, isso não deve ser usado como armazenamento seguro.

As propriedades personalizadas são fornecidas como um objeto CustomProperties na propriedade asyncResult.value. Esse objeto pode ser usado para obter, definir, salvar e remover propriedades personalizadas do item de email.

loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;

Parâmetros

callback

(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

userContext

any

Opcional. Os desenvolvedores podem fornecer qualquer objeto que desejarem acessar na função de retorno de chamada. Esse objeto pode ser acessado pela propriedade asyncResult.asyncContext na função de retorno de chamada.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Para saber mais sobre propriedades personalizadas, consulte Obter e definir metadados de suplemento para um suplemento do Outlook.

Nível mínimo de permissão: item de leitura

Modo outlook aplicável: Composição de mensagens

Exemplos

// The following example shows how to use the loadCustomPropertiesAsync method
// to asynchronously load custom properties that are specific to the current item.
// The example also shows how to use the saveAsync method to save these properties
// back to the server. After loading the custom properties, the example uses the
// get method to read the custom property myProp, the set method to write the
// custom property otherProp, and then finally calls the saveAsync method to save
// the custom properties.
Office.initialize = function () {
    // Checks for the DOM to load using the jQuery ready method.
    $(document).ready(function () {
        // After the DOM is loaded, add-in-specific code can run.
        const mailbox = Office.context.mailbox;
        mailbox.item.loadCustomPropertiesAsync(customPropsCallback);
    });
};

function customPropsCallback(asyncResult) {
    const customProps = asyncResult.value;
    const myProp = customProps.get("myProp");

    customProps.set("otherProp", "value");
    customProps.saveAsync(saveCallback);
}

function saveCallback(asyncResult) {
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/15-item-custom-properties/load-set-get-save.yaml

Office.context.mailbox.item.loadCustomPropertiesAsync(function (result) {
  if (result.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Loaded following custom properties:");
    customProps = result.value;
    const dataKey = Object.keys(customProps)[0];
    const data = customProps[dataKey];
    for (let propertyName in data)
    {
      let propertyValue = data[propertyName];
      console.log(`${propertyName}: ${propertyValue}`);
    }              
  }
  else {
    console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
  }
});

removeAttachmentAsync(attachmentId, options, callback)

Remove um anexo de uma mensagem ou de um compromisso.

O método removeAttachmentAsync remove o anexo com o identificador especificado do item. Como prática recomendada, deve-se usar o identificador do anexo para remover um anexo somente se o mesmo aplicativo de email tiver adicionado esse anexo na mesma sessão. Em Outlook na Web e em dispositivos móveis, o identificador de anexo é válido somente na mesma sessão. Uma sessão acaba quando o usuário fecha o aplicativo ou se o usuário começa a compor um formulário embutido e, posteriormente, aparece o formulário para continuar em uma janela separada.

removeAttachmentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

attachmentId

string

O identificador do anexo a remover. O comprimento máximo da cadeia de caracteres é de attachmentId 200 caracteres em Outlook na Web e no Windows.

options
Office.AsyncContextOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejam acessar na função de retorno de chamada.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Se a remoção do anexo falhar, a propriedade asyncResult.error conterá um código de erro com o motivo da falha.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • InvalidAttachmentId: o identificador de anexo não existe.

Exemplos

// The following code removes an attachment with an identifier of '0'.
Office.context.mailbox.item.removeAttachmentAsync(
    '0',
    { asyncContext : null },
    function (asyncResult)
    {
        console.log(asyncResult.status);
    }
);
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml

Office.context.mailbox.item.removeAttachmentAsync(
    $("#attachmentId").val(),
    { asyncContext : null },
    function(result)
    {
        if (result.status !== Office.AsyncResultStatus.Succeeded) {
            console.error(`${result.error.message}`);
        } else {
            console.log(`Attachment removed successfully.`);
        }
    }
);

removeAttachmentAsync(attachmentId, callback)

Remove um anexo de uma mensagem ou de um compromisso.

O método removeAttachmentAsync remove o anexo com o identificador especificado do item. Como prática recomendada, deve-se usar o identificador do anexo para remover um anexo somente se o mesmo aplicativo de email tiver adicionado esse anexo na mesma sessão. Em Outlook na Web e em dispositivos móveis, o identificador de anexo é válido somente na mesma sessão. Uma sessão acaba quando o usuário fecha o aplicativo ou se o usuário começa a compor um formulário embutido e, posteriormente, aparece o formulário para continuar em uma janela separada.

removeAttachmentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

attachmentId

string

O identificador do anexo a remover. O comprimento máximo da cadeia de caracteres é de attachmentId 200 caracteres em Outlook na Web e no Windows.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult. Se a remoção do anexo falhar, a propriedade asyncResult.error conterá um código de erro com o motivo da falha.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • InvalidAttachmentId: o identificador de anexo não existe.

setSelectedDataAsync(data, options, callback)

Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem.

O setSelectedDataAsync método insere a cadeia de caracteres especificada no local do cursor no assunto ou no corpo do item ou, se o texto for selecionado no editor, ele substituirá o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, um erro será retornado. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

Os dados a serem inseridos. Os dados não devem exceder 1.000.000 de caracteres. Se forem passados mais de 1.000.000 de caracteres, ocorrerá uma exceção ArgumentOutOfRange.

options

Office.AsyncContextOptions & Office.CoercionTypeOptions

Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejam acessar na função de retorno de chamada. coercionType: se texto, o estilo atual será aplicado em Outlook na Web e em clientes da área de trabalho. Se o campo for um editor de HTML, apenas os dados de texto são inseridos, mesmo se os dados forem HTML. Se html e o campo de suporte a HTML (o assunto não o fizer), o estilo atual será aplicado em Outlook na Web e o estilo padrão será aplicado no Outlook em clientes da área de trabalho. Se o campo for um campo de texto, retorna um erro InvalidDataFormat. Se coercionType não estiver definido, o resultado depende do campo: se o campo for HTML, HTML será usado; se o campo for texto, texto sem formatação será usado.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.2 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • InvalidAttachmentId: o identificador de anexo não existe.

Exemplos

Office.context.mailbox.item.setSelectedDataAsync("<b>Hello World!</b>", { coercionType : "html" });
Office.context.mailbox.item.setSelectedDataAsync("Hello World!");
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/90-other-item-apis/set-selected-data.yaml

Office.context.mailbox.item.setSelectedDataAsync("Replaced", function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    console.log("Selected text has been updated successfully.");
  } else {
    console.error(asyncResult.error);
  }
});

setSelectedDataAsync(data, callback)

Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem.

O setSelectedDataAsync método insere a cadeia de caracteres especificada no local do cursor no assunto ou no corpo do item ou, se o texto for selecionado no editor, ele substituirá o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, um erro será retornado. Após a inserção, o cursor é colocado no final do conteúdo inserido.

setSelectedDataAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

data

string

Os dados a serem inseridos. Os dados não devem exceder 1.000.000 de caracteres. Se forem passados mais de 1.000.000 de caracteres, ocorrerá uma exceção ArgumentOutOfRange.

callback

(asyncResult: Office.AsyncResult<void>) => void

Opcional. Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.2 ]

Nível mínimo de permissão: item de leitura/gravação

Modo outlook aplicável: Composição de mensagens

Erros:

  • InvalidAttachmentId: o identificador de anexo não existe.