Share via


Office.Body interface

O objeto body fornece métodos para adicionar e atualizar o conteúdo da mensagem ou compromisso. Ele é retornado na propriedade body do item selecionado.

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

Problema conhecido com as cores da borda da tabela HTML

Outlook no Windows: se você estiver definindo várias bordas de célula para cores diferentes em uma tabela HTML no modo Compose, as bordas de uma célula podem não refletir a cor esperada. Para o comportamento conhecido, visite o problema officeDev/office-js #1818.

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

Modo outlook aplicável: compor ou ler

Métodos

getTypeAsync(options, callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

prependAsync(data, options, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

prependAsync(data, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

setSelectedDataAsync(data, options, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

setSelectedDataAsync(data, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

Detalhes do método

getTypeAsync(options, callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Parâmetros

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<Office.CoercionType>) => 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. O tipo de conteúdo é retornado como um dos CoercionType valores na asyncResult.value propriedade.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compose

Importante: no Outlook no Android e no iOS, esse método não tem suporte no modo de Composição de Mensagens. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Exemplos

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

// Get the mail item's body format (plain text or HTML) and log it to the console.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  console.log("Body format: " + asyncResult.value);
});

getTypeAsync(callback)

Obtém um valor que indica se o conteúdo está em formato HTML ou texto.

getTypeAsync(callback?: (asyncResult: Office.AsyncResult<Office.CoercionType>) => void): void;

Parâmetros

callback

(asyncResult: Office.AsyncResult<Office.CoercionType>) => 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. O tipo de conteúdo é retornado como um dos CoercionType valores na asyncResult.value propriedade.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compose

Importante: no Outlook no Android e no iOS, esse método não tem suporte no modo de Composição de Mensagens. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

prependAsync(data, options, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

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

Parâmetros

data

string

A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

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: o formato desejado para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.

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. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

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: compose

Importante:

  • Depois que o conteúdo é pré-configurado, a posição do cursor depende de qual cliente o suplemento está em execução. Em Outlook na Web e no Windows, a posição do cursor permanece a mesma no conteúdo pré-existente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da prependAsync chamada, ele aparecerá entre o conteúdo pré-configurado e o conteúdo pré-existente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados por HTML, é importante observar que o cliente pode modificar o valor passado para prependAsync torná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o Body.getAsync método (introduzido na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anterior prependAsync .

  • Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

  • No Outlook no Android e no iOS, esse método não tem suporte no modo Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Recomendado: chame getTypeAsync, em seguida, passe o valor retornado para o options.coercionType parâmetro.

Erros:

  • DataExceedsMaximumSize: o parâmetro de dados é maior que 1.000.000 caracteres.

Exemplos

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

/* This snippet adds text to the beginning of the message or appointment's body. 
  
  When prepending a link in HTML markup to the body, you can disable the online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val();

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.prependAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`"${text}" prepended to the body.`);
  });
});

prependAsync(data, callback)

Adiciona o conteúdo especificado ao início do corpo do item.

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

Parâmetros

data

string

A cadeia de caracteres a ser inserida no início do corpo. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

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. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

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: compose

Importante:

  • Depois que o conteúdo é pré-configurado, a posição do cursor depende de qual cliente o suplemento está em execução. Em Outlook na Web e no Windows, a posição do cursor permanece a mesma no conteúdo pré-existente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da prependAsync chamada, ele aparecerá entre o conteúdo pré-configurado e o conteúdo pré-existente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a prependAsync chamada e só reaparece quando o usuário seleciona algo no corpo do item de email.

  • Ao trabalhar com corpos formatados por HTML, é importante observar que o cliente pode modificar o valor passado para prependAsync torná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o Body.getAsync método (introduzido na Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anterior prependAsync .

  • Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

  • No Outlook no Android e no iOS, esse método não tem suporte no modo Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Recomendado: chame getTypeAsync, em seguida, passe o valor retornado para o options.coercionType parâmetro.

Erros:

  • DataExceedsMaximumSize: o parâmetro de dados é maior que 1.000.000 caracteres.

setSelectedDataAsync(data, options, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

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

Parâmetros

data

string

A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

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: o formato desejado para o corpo. A cadeia de caracteres no parâmetro data será convertida para este formato.

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. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

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: compose

Erros:

  • DataExceedsMaximumSize: o data parâmetro é maior que 1.000.000 caracteres.

  • InvalidFormatError: o options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.

Exemplos

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

/* This snippet replaces selected text in a message or appointment's body with specified text.
  
  If you want to use a link in HTML markup as a value of the setSelectedDataAsync call's data parameter, you can disable online link preview by setting the anchor tag's id attribute to "LPNoLP". For example, '<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.
*/
const text = $("#text-field").val();

// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependAsync call.
Office.context.mailbox.item.body.getTypeAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log("Action failed with error: " + asyncResult.error.message);
    return;
  }

  const bodyFormat = asyncResult.value;
  Office.context.mailbox.item.body.setSelectedDataAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Failed) {
      console.log("Action failed with error: " + asyncResult.error.message);
      return;
    }

    console.log(`Replaced selected text with "${text}".`);
  });
});

setSelectedDataAsync(data, callback)

Substitui a seleção no corpo pelo texto especificado.

O método setSelectedDataAsync insere a cadeia de caracteres especificada no local do cursor no corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor nunca esteve no corpo do item, ou se o corpo do item perdeu o destaque na interface de usuário, a cadeia de caracteres será inserida na parte superior do conteúdo do corpo. Após a inserção, o cursor é colocado no final do conteúdo inserido.

Ao incluir links na marcação HTML, você pode desabilitar a visualização de link online definindo o id atributo na âncora (><a) como "LPNoLP" (consulte a seção Exemplos para um exemplo).

Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.

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

Parâmetros

data

string

A cadeia de caracteres que substituirá o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.

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. Quaisquer erros encontrados serão fornecidos na propriedade asyncResult.error.

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: compose

Erros:

  • DataExceedsMaximumSize: o data parâmetro é maior que 1.000.000 caracteres.

  • InvalidFormatError: o options.coercionType parâmetro é definido como Office.CoercionType.Html e o corpo da mensagem está em texto sem formatação.