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 APIs: Caixa de Correio 1.1
Para saber como obter ou definir o corpo de um item de email, consulte Obter ou definir o corpo de uma mensagem ou compromisso no Outlook.
Problema conhecido com as cores da borda da tabela HTML
Outlook no Windows: Se você estiver definindo várias bordas de célula com 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 OfficeDev/office-js issue #1818.
Nível mínimo de permissão: ler item
Modo do Outlook aplicável: Compose ou Ler
Usada por
- Office.AppointmentCompose: body
- Office.AppointmentRead: body
- Office.LoadedMessageCompose: body
- Office.LoadedMessageRead: body
- Office.MessageCompose: body
- Office.MessageRead: body
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
Métodos
| append |
Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura. Para usar |
| append |
Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura. Para usar |
| get |
Retorna todo o corpo atual no formato especificado por |
| get |
Retorna todo o corpo atual no formato especificado por |
| get |
Obtém um valor que indica se o conteúdo está em formato HTML ou texto. |
| get |
Obtém um valor que indica se o conteúdo está em formato HTML ou texto. |
| prepend |
Adiciona o conteúdo especificado ao início do corpo do item. |
| prepend |
Adiciona o conteúdo especificado ao início do corpo do item. |
| prepend |
Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado. Para usar |
| prepend |
Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado. Para usar |
| set |
Substitui todo o corpo com o texto especificado. |
| set |
Substitui todo o corpo com o texto especificado. |
| set |
Substitui a seleção no corpo pelo texto especificado. O método |
| set |
Substitui a seleção no corpo pelo texto especificado. O método |
| set |
Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura. |
| set |
Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura. |
Detalhes do método
appendOnSendAsync(data, options, callback)
Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.
Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.
appendOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser adicionada ao final do corpo. A cadeia de caracteres é limitada a 5.000 caracteres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada.
coercionType
: o formato desejado para os dados a serem acrescentados. 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 APIs: Caixa de Correio 1.9
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Se o usuário estiver executando suplementos que implementam o recurso ao enviar usando
ItemSendo manifesto, o recurso de acréscimo ao enviar é executado antes da funcionalidade ao enviar.Se o suplemento implementar o recurso ao enviar e chamar
appendOnSendAsyncoItemSendmanipulador, aappendOnSendAsyncchamada retornará um erro, pois esse cenário não tem suporte.Para limpar os dados de uma chamada anterior
appendOnSendAsync, você pode chamá-la novamente com odataparâmetro definido comonull.Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
appendOnSendAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
appendOnSendAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: Odataparâmetro tem mais de 5.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro está definido como,Office.CoercionType.Htmlmas 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/append-text-on-send.yaml
// This snippet appends text to the end of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the appendOnSendAsync 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.appendOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be appended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
appendOnSendAsync(data, callback)
Acrescenta em envia o conteúdo especificado para o final do corpo do item, após qualquer assinatura.
Para usar appendOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Consulte Noções básicas sobre permissões de suplemento do Outlook. Para saber mais sobre o append-on-send e sua configuração, confira Implementar o append-on-send no suplemento do Outlook.
appendOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser adicionada ao final do corpo. A cadeia de caracteres é limitada a 5.000 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 APIs: Caixa de Correio 1.9
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Se o usuário estiver executando suplementos que implementam o recurso ao enviar usando
ItemSendo manifesto, o recurso de acréscimo ao enviar é executado antes da funcionalidade ao enviar.Se o suplemento implementar o recurso ao enviar e chamar
appendOnSendAsyncoItemSendmanipulador, aappendOnSendAsyncchamada retornará um erro, pois esse cenário não tem suporte.Para limpar os dados de uma chamada anterior
appendOnSendAsync, você pode chamá-la novamente com odataparâmetro definido comonull.Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
appendOnSendAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
appendOnSendAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: Odataparâmetro tem mais de 5.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro está definido como,Office.CoercionType.Htmlmas o corpo da mensagem está em texto sem formatação.
getAsync(coercionType, options, callback)
Retorna todo o corpo atual no formato especificado por coercionType.
getAsync(coercionType: Office.CoercionType | string, options: Office.AsyncContextOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- coercionType
-
Office.CoercionType | string
O formato do corpo retornado.
- options
-
Office.AsyncContextOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Um objeto literal que contém uma ou mais das propriedades a seguir.
asyncContext
: todos os dados que você deseja acessar na função de retorno de chamada.
bodyMode
: No Outlook na Web, em dispositivos móveis e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversa de mensagem é retornado. Se um valor não for especificado, bodyMode o padrão é Office.MailboxEnums.BodyMode.FullBody, que retorna todo o corpo de uma conversa de mensagem. A bodyMode propriedade só se aplica a respostas na superfície de Compose de Mensagem. Ela é ignorada no Outlook no Windows (clássico) e no Mac.
- 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. O corpo é fornecido no formato solicitado na asyncResult.value propriedade.
Retornos
void
Comentários
Conjunto de APIs: Caixa de correio 1.3
Nível mínimo de permissão: ler item
Modo do Outlook aplicável: Compose ou Ler
Importante:
Ao trabalhar com corpos formatados em HTML, é importante observar que o
Body.getAsyncvalor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente noBody.setAsyncmétodo. O cliente pode modificar o valor passado parasetAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização.No Outlook na Web e no novo Outlook no Windows, a especificação
Office.CoercionType.TextnagetAsyncchamada nem sempre fornece uma formatação confiável. Em vez disso, especifiqueOffice.CoercionType.Htmlespecialmente se o corpo contiver elementos formatados, como tabelas, listas e links.No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser que o corpo retornado reflita a configuração do usuário, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro em suagetAsyncchamada. Se as mensagens forem agrupadas por conversa, apenas o corpo da resposta atual será retornado. Por outro lado, se as mensagens forem exibidas individualmente, todo o thread da conversa será retornado.No Outlook em dispositivos móveis, a
bodyModepropriedade está disponível a partir da versão 4.2538.0.No Outlook em dispositivos móveis, especificar
bodyMode: Office.MailboxEnums.BodyMode.HostConfigretorna o corpo da resposta atual.No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo resposta na parte inferior da mensagem), somente o corpo da resposta atual é retornado. Isso se aplica mesmo se
bodyMode: Office.MailboxEnums.BodyMode.FullBodyfor especificado nagetAsyncchamada.A
bodyModeopção não é compatível com uma mensagem carregada usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
getAsync(coercionType, callback)
Retorna todo o corpo atual no formato especificado por coercionType.
getAsync(coercionType: Office.CoercionType | string, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- coercionType
-
Office.CoercionType | string
O formato do corpo retornado.
- 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. O corpo é fornecido no formato solicitado na asyncResult.value propriedade.
Retornos
void
Comentários
Conjunto de APIs: Caixa de correio 1.3
Nível mínimo de permissão: ler item
Modo do Outlook aplicável: Compose ou Ler
Importante:
Ao trabalhar com corpos formatados em HTML, é importante observar que o
Body.getAsyncvalor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente noBody.setAsyncmétodo. O cliente pode modificar o valor passado parasetAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização.No Outlook na Web e no novo Outlook no Windows, a especificação
Office.CoercionType.TextnagetAsyncchamada nem sempre fornece uma formatação confiável. Em vez disso, especifiqueOffice.CoercionType.Htmlespecialmente se o corpo contiver elementos formatados, como tabelas, listas e links.No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser que o corpo retornado reflita a configuração do usuário, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro em suagetAsyncchamada. Se as mensagens forem agrupadas por conversa, apenas o corpo da resposta atual será retornado. Por outro lado, se as mensagens forem exibidas individualmente, todo o thread da conversa será retornado.No Outlook em dispositivos móveis, a
bodyModepropriedade está disponível a partir da versão 4.2538.0.No Outlook em dispositivos móveis, especificar
bodyMode: Office.MailboxEnums.BodyMode.HostConfigretorna o corpo da resposta atual.No Outlook em dispositivos móveis, enquanto estiver no modo de resposta rápida (o campo resposta na parte inferior da mensagem), somente o corpo da resposta atual é retornado. Isso se aplica mesmo se
bodyMode: Office.MailboxEnums.BodyMode.FullBodyfor especificado nagetAsyncchamada.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
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 desejem 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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: ler item
Modo do Outlook aplicável: Compose
Importante: no Outlook no Android e no iOS, esse método não é compatível com o modo Message Compose. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, 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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: ler item
Modo do Outlook aplicável: Compose
Importante: no Outlook no Android e no iOS, esse método não é compatível com o modo Message Compose. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, 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.
Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem 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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Depois que o conteúdo é anexado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo preexistente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da
prependAsyncchamada, ele aparecerá entre o conteúdo prefixado e o conteúdo preexistente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após aprependAsyncchamada e só reaparece quando o usuário seleciona algo no corpo do item de email.Ao trabalhar com corpos formatados em HTML, é importante observar que o cliente pode modificar o valor passado para
prependAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o método (introduzidoBody.getAsyncna Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anteriorprependAsync.Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
prependAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
prependAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
-
DataExceedsMaximumSize: O parâmetro de dados tem mais de 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="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// 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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Depois que o conteúdo é anexado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook na Web e no Windows (novo e clássico), a posição do cursor permanece a mesma no conteúdo preexistente do corpo. Por exemplo, se o cursor foi posicionado no início do corpo antes da
prependAsyncchamada, ele aparecerá entre o conteúdo prefixado e o conteúdo preexistente do corpo após a chamada. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após aprependAsyncchamada e só reaparece quando o usuário seleciona algo no corpo do item de email.Ao trabalhar com corpos formatados em HTML, é importante observar que o cliente pode modificar o valor passado para
prependAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização. Isso significa que o valor retornado de uma chamada subsequente para o método (introduzidoBody.getAsyncna Caixa de Correio 1.3) não conterá necessariamente o valor exato que foi passado na chamada anteriorprependAsync.Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
prependAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
prependAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
-
DataExceedsMaximumSize: O parâmetro de dados tem mais de 1.000.000 caracteres.
prependOnSendAsync(data, options, callback)
Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.
Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.
prependOnSendAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia de caracteres é limitada a 5.000 caracteres.
Um literal de objeto que contém uma ou mais das seguintes propriedades:- asyncContext: Qualquer objeto que pode ser acessado na função de retorno de chamada.
coercionType
: O formato desejado para o corpo. A cadeia de caracteres no data parâmetro é convertida nesse 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 APIs: Caixa de correio 1.13
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante: ao implementar prependOnSendAsync, lembre-se do seguinte.
Em um suplemento de Alertas inteligentes, o recurso preceder ao enviar é executado primeiro.
Uma nova linha é adicionada após o conteúdo prefixado.
Se vários suplementos ativos chamarem
prependOnSendAsync, a ordem do conteúdo inserido dependerá da ordem em que o suplemento é executado. O conteúdo do suplemento de última execução aparece acima do conteúdo anexado anteriormente.Se o suplemento tentar inserir HTML em um corpo de texto sem formatação, o conteúdo não será acrescentado. Por outro lado, o texto sem formatação será inserido em um corpo HTML.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
prependOnSendAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
prependOnSendAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro excede 5.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Html, mas o corpo do item está no formato de texto sem formatação.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/20-item-body/prepend-text-on-send.yaml
// This snippet prepends text to the beginning of the message or appointment's body once it's sent.
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// It's recommended to call getTypeAsync and pass its returned value to the options.coercionType parameter of the prependOnSendAsync 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.prependOnSendAsync(text, { coercionType: bodyFormat }, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log("Action failed with error: " + asyncResult.error.message);
return;
}
console.log(`"${text}" will be prepended to the body once the message or appointment is sent. Send the mail item to test this feature.`);
});
});
prependOnSendAsync(data, callback)
Acrescenta HTML ou texto sem formatação ao início de uma mensagem ou corpo de compromisso quando o item de email é enviado.
Para usar prependOnSendAsynco , você deve especificar uma permissão suplementar no manifesto. Os detalhes variam de acordo com o tipo de manifesto. Para obter orientação, consulte Noções básicas sobre permissões de suplemento do Outlook.
prependOnSendAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres a ser anexada ao início da mensagem ou do corpo do compromisso. A cadeia de caracteres é limitada a 5.000 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 APIs: Caixa de correio 1.13
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante: ao implementar prependOnSendAsync, lembre-se do seguinte.
Em um suplemento de Alertas inteligentes, o recurso preceder ao enviar é executado primeiro.
Uma nova linha é adicionada após o conteúdo prefixado.
Se vários suplementos ativos chamarem
prependOnSendAsync, a ordem do conteúdo inserido dependerá da ordem em que o suplemento é executado. O conteúdo do suplemento de última execução aparece acima do conteúdo anexado anteriormente.Se o suplemento tentar inserir HTML em um corpo de texto sem formatação, o conteúdo não será acrescentado. Por outro lado, o texto sem formatação será inserido em um corpo HTML.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
prependOnSendAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
prependOnSendAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro excede 5.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Html, mas o corpo do item está no formato de texto sem formatação.
setAsync(data, options, callback)
Substitui todo o corpo com o texto especificado.
setAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions & { bodyMode?: MailboxEnums.BodyMode }, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que substitui o corpo existente. A cadeia de caracteres está limitada a 1.000.000 de caracteres.
- options
-
Office.AsyncContextOptions & Office.CoercionTypeOptions & { bodyMode?: Office.MailboxEnums.BodyMode }
Um objeto literal que contém uma ou mais das propriedades a seguir.
asyncContext
: todos os dados que você deseja acessar na função de retorno de chamada.
coercionType
: O formato desejado para o corpo. A cadeia de caracteres no data parâmetro é convertida nesse formato.
bodyMode
: No Outlook na Web e no novo Outlook no Windows, especifica se apenas o corpo da mensagem atual ou todo o corpo de uma conversa de mensagem está definido. Se um valor não for especificado, bodyMode o padrão é Office.MailboxEnums.BodyMode.FullBody, que substitui todo o corpo, incluindo as mensagens anteriores no thread da conversa. A bodyMode propriedade só se aplica a respostas na superfície de Compose de Mensagem. Ela é ignorada no Outlook no Windows (clássico), no Mac e em dispositivos móveis.
- 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 APIs: Caixa de correio 1.3
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Depois que o corpo é substituído pelo conteúdo especificado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook clássico no Windows, o cursor aparece no início do corpo do item de email. No Outlook na Web e no novo Outlook no Windows, o cursor aparece no final do corpo do item de email. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a
prependAsyncchamada e só reaparece quando o usuário seleciona algo no corpo do item de email.Ao trabalhar com corpos formatados em HTML, é importante observar que o
Body.getAsyncvalor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente noBody.setAsyncmétodo. O cliente pode modificar o valor passado parasetAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização.Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.No Outlook no Windows (clássico) e no Mac, o usuário do suplemento não pode reverter essa ação com o comando Desfazer.
No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
setAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas a um tópico de conversa com mais de uma mensagem, se você quiser respeitar as configurações do usuário ao definir o corpo de uma mensagem, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro em suasetAsyncchamada. Se as mensagens forem agrupadas por conversa, somente o corpo da resposta atual será definido. Por outro lado, se as mensagens forem exibidas individualmente, todo o corpo, incluindo as mensagens anteriores no thread de conversa, será substituído.No Outlook na Web e no novo Outlook no Windows, se a propriedade não estiver especificada ou estiver definida como
Office.MailboxEnums.BodyMode.FullBody, todo obodyModecorpo de uma mensagem, incluindo as mensagens anteriores do thread de conversa, será substituído. Isso se aplica mesmo se as mensagens de um usuário forem organizadas por conversa. Nesse cenário, a configuração do usuário é alterada temporariamente para Mensagens individuais: Não agrupar mensagens>Apenas uma única mensagem ou Mostrar email como mensagens individuais durante asetAsyncchamada. Uma notificação é mostrada ao usuário para alertá-lo sobre essa alteração. Quando a chamada for concluída, a configuração do usuário será restabelecida.
Erros:
DataExceedsMaximumSize: O parâmetro de dados tem mais de 1.000.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle 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/add-inline-base64-image.yaml
// Get the current body of the message or appointment.
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, (bodyResult) => {
if (bodyResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to get body: ${bodyResult.error.message}`);
return;
}
// Add the Base64-encoded image to the end of the body.
const options = { isInline: true, asyncContext: bodyResult.value };
Office.context.mailbox.item.addFileAttachmentFromBase64Async(base64String, "sample.png", options, (attachResult) => {
if (attachResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to attach file: ${attachResult.error.message}`);
return;
}
let body = attachResult.asyncContext;
body += '<img src="cid:sample.png" />';
Office.context.mailbox.item.body.setAsync(body, { coercionType: Office.CoercionType.Html }, (setResult) => {
if (setResult.status === Office.AsyncResultStatus.Failed) {
console.log(`Failed to set body: ${setResult.error.message}`);
return;
}
console.log("Inline Base64-encoded image added to the end of the body.");
});
});
});
setAsync(data, callback)
Substitui todo o corpo com o texto especificado.
setAsync(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 APIs: Caixa de correio 1.3
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsynce passe o valor retornado para o options.coercionType parâmetro.
Importante:
Depois que o corpo é substituído pelo conteúdo especificado, a posição do cursor depende de qual cliente o suplemento está executando. No Outlook clássico no Windows, o cursor aparece no início do corpo do item de email. No Outlook na Web e no novo Outlook no Windows, o cursor aparece no final do corpo do item de email. No Outlook no Mac, a posição do cursor não é preservada. O cursor desaparece após a
prependAsyncchamada e só reaparece quando o usuário seleciona algo no corpo do item de email.Ao trabalhar com corpos formatados em HTML, é importante observar que o
Body.getAsyncvalor retornado pelo método não será necessariamente o mesmo valor que foi passado anteriormente noBody.setAsyncmétodo. O cliente pode modificar o valor passado parasetAsynctorná-lo renderizado com eficiência com seu mecanismo de renderização.Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.No Outlook no Windows (clássico) e no Mac, o usuário do suplemento não pode reverter essa ação com o comando Desfazer.
No Outlook no Android e no iOS, esse método não é compatível com o modo de Compose de Mensagem. Há suporte apenas para o modo Organizador de Compromissos. Para obter mais informações sobre APIs com suporte no Outlook para dispositivos móveis, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.
Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
setAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.No Outlook na Web e no novo Outlook no Windows, os usuários podem organizar suas mensagens como conversas ou mensagens individuais em Configurações> Organização damensagemde layout>de email> (consulte Alterar como a lista de mensagens é exibida no Outlook). Essa configuração afeta o quanto do corpo de uma mensagem é exibido para o usuário (ou seja, todo o thread de conversa de uma mensagem ou apenas a mensagem atual). No modo Message Compose, especialmente para respostas em um tópico de conversa com mais de uma mensagem, se você quiser respeitar as configurações do usuário ao definir o corpo de uma mensagem, especifique o
bodyMode: Office.MailboxEnums.BodyMode.HostConfigparâmetro em suasetAsyncchamada. Se as mensagens forem agrupadas por conversa, somente o corpo da resposta atual será definido. Por outro lado, se as mensagens forem exibidas individualmente, todo o corpo, incluindo as mensagens anteriores no thread de conversa, será substituído.No Outlook na Web e no novo Outlook no Windows, se a propriedade não estiver especificada ou estiver definida como
Office.MailboxEnums.BodyMode.FullBody, todo obodyModecorpo de uma mensagem, incluindo as mensagens anteriores do thread de conversa, será substituído. Isso se aplica mesmo se as mensagens de um usuário forem organizadas por conversa. Nesse cenário, a configuração do usuário é alterada temporariamente para Mensagens individuais: Não agrupar mensagens>Apenas uma única mensagem ou Mostrar email como mensagens individuais durante asetAsyncchamada. Uma notificação é mostrada ao usuário para alertá-lo sobre essa alteração. Quando a chamada for concluída, a configuração do usuário será restabelecida.
Erros:
DataExceedsMaximumSize: O parâmetro de dados tem mais de 1.000.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto sem formatação.
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.
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.
Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem 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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.
Importante:
Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
setSelectedDataAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setSelectedDataAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 1.000.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle 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="https://www.contoso.com">Click here!</a>'.
*/
const text = (document.getElementById("text-field") as HTMLInputElement).value;
// 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.
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 APIs: Caixa de Correio 1.1
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Recomendado: chame getTypeAsync e passe o valor retornado para o options.coercionType parâmetro.
Importante:
Ao incluir links na marcação HTML, você pode desativar a visualização de link online definindo o
idatributo na âncora (<a>) como "LPNoLP". Por exemplo,'<a id="LPNoLP" href="http://www.contoso.com">Click here!</a>'.Não há suporte para arquivos SVG. Em vez disso, use arquivos JPG ou PNG.
O
setSelectedDataAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setSelectedDataAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: odataparâmetro tem mais de 1.000.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto sem formatação.
setSignatureAsync(data, options, callback)
Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.
setSignatureAsync(data: string, options: Office.AsyncContextOptions & CoercionTypeOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que representa a assinatura a ser definida no corpo do email. Essa cadeia de caracteres é limitada a 30.000 caracteres.
Um literal de objeto que contém uma ou mais das seguintes propriedades: - asyncContext: Os desenvolvedores podem fornecer qualquer objeto que desejem acessar na função de retorno de chamada.
coercionType
: o formato como a assinatura deve ser definida. Se for Text, o método definirá a assinatura como texto sem formatação, removendo todas as marcas HTML presentes. Se for html, o método definirá a assinatura como HTML.
- 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 APIs: Caixa de Correio 1.10
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Importante:
No Outlook na Web e no novo Outlook no Windows,
setSignatureAsyncsó funciona em mensagens.Esse método é compatível com o Message Compose no Outlook no Android e no iOS a partir da versão 4.2352.0. Para obter um cenário de exemplo, consulte Implementar a ativação baseada em eventos nos suplementos móveis do Outlook. Para saber mais sobre APIs suportadas no Outlook mobile, consulte APIs JavaScript suportadas no Outlook em dispositivos móveis.
O comportamento de
setSignatureAsyncé diferente se você chamá-lo no manipulador de eventos de um suplemento que implementa o recurso de ativação baseada em eventos usando LaunchEvent no manifesto. Quando o usuário redigi um novo item (incluindo responder ou encaminhar), a assinatura é definida, mas não modifica o formulário. Isso significa que, se o usuário fechar o formulário sem fazer outras edições, ele não será solicitado a salvar as alterações.Os arquivos SVG não são suportados nas assinaturas de email. Em vez disso, use arquivos JPG ou PNG.
O
setSignatureAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setSignatureAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: Odataparâmetro tem mais de 30.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle 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/90-other-item-apis/work-with-client-signatures.yaml
// Set the signature for the current item with inline image.
const modIcon1Base64 = "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDRDMxMDg1MjBCNDZFMTExODE2MkM1RUI2M0M4MDYxRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFMTUxQjgyRjQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFMTUxQjgyRTQ2MEQxMUUxODlFMkQwNTYzQ0YwMTUxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQxMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNEMzEwODUyMEI0NkUxMTE4MTYyQzVFQjYzQzgwNjFEIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+uC/WfAAAAehJREFUeNpilCzfwEAEkAbiECA2A2J1IOaHin8E4ptAfBaIVwLxU0IGMRKw0B6IW4DYhoE4cASIK6E0VsCEQ1wUiNcB8QESLGOAqj0MxBuhZhBloS4QnwHiQAbygR/UDF1CFupCXSjHQDmQg5qli8tCUBBsQUoQ1AD8UDNFsVk4n0o+w+bT+egWglKjNymmeGhLkqLcG2oHAwtUoIuQDj5OVgZPLUmwRe5aEmAxqYqNpFgKssOcCeplM0KqdST5GfpDDRm0JfkYrj3/SE7QguyQY4ImYYLgCtAS10kHGMw6dzNsv/qC7OwCClJXYlR++v6b4er3j5QmIFcmaNlIL6AOslCIjhYKMTHQGTBBqxh6gXcgC6/R0cKbIAv30dHCfaAKGJTxHxJSqS3Fz9DkowNmywpyMcgA8fF7b8D8VWcfM6w8+4gYC+VB+RCk8hSh0gaUD4/dewvlvUWRe/z+GzGWgex4BGtiOAHxXhoHpzMoSGHZAhSPW2lo2VZYWkHOh4nEtLrIAE+hZmNUwK+B2BOIv1PRsu9QM1/jatNcBtVZ0IREKXgENesyoVYbzNIdFFi2A5tl+NqlL6BB4QBNzsSCU1A9nlAzMAALAQMOQl0qB23qWwKxIlIrDBQ394H4OBCvISYqAAIMACVibHDqsO7zAAAAAElFTkSuQmCC";
Office.context.mailbox.item.addFileAttachmentFromBase64Async(
modIcon1Base64,
"myImage.png",
{ isInline: true },
function(result) {
if (result.status == Office.AsyncResultStatus.Succeeded) {
const signature = (document.getElementById("signature") as HTMLInputElement).value + "<img src='cid:myImage.png'>";
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(
signature,
{ coercionType: "html" },
function(asyncResult) {
console.log(`setSignatureAsync: ${asyncResult.status}`);
}
);
} else {
console.error(`addFileAttachmentFromBase64Async: ${result.error}`);
}
}
);
...
// Set the signature for the current item.
const signature = (document.getElementById("signature") as HTMLInputElement).value;
console.log(`Setting signature to "${signature}".`);
Office.context.mailbox.item.body.setSignatureAsync(signature, function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("setSignatureAsync succeeded");
} else {
console.error(asyncResult.error);
}
});
setSignatureAsync(data, callback)
Adiciona uma assinatura ao corpo do item se ele não tiver uma assinatura existente. Se já houver uma assinatura no corpo, o substituirá essa assinatura.
setSignatureAsync(data: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
Parâmetros
- data
-
string
A cadeia de caracteres que representa a assinatura a ser definida no corpo do email. Essa cadeia de caracteres é limitada a 30.000 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.
Retornos
void
Comentários
Conjunto de APIs: Caixa de Correio 1.10
Nível mínimo de permissão: item de leitura/gravação
Modo do Outlook aplicável: Compose
Importante:
No Outlook na Web e no novo Outlook no Windows,
setSignatureAsyncsó funciona em mensagens.Esse método é compatível com o Message Compose no Outlook no Android e no iOS a partir da versão 4.2352.0. Para obter um cenário de exemplo, consulte Implementar a ativação baseada em eventos nos suplementos móveis do Outlook. Para saber mais sobre APIs suportadas no Outlook mobile, consulte APIs JavaScript suportadas no Outlook em dispositivos móveis.
O comportamento de
setSignatureAsyncé diferente se você chamá-lo no manipulador de eventos de um suplemento que implementa o recurso de ativação baseada em eventos usando LaunchEvent no manifesto. Quando o usuário redigi um novo item (incluindo responder ou encaminhar), a assinatura é definida, mas não modifica o formulário. Isso significa que, se o usuário fechar o formulário sem fazer outras edições, ele não será solicitado a salvar as alterações.Os arquivos SVG não são suportados nas assinaturas de email. Em vez disso, use arquivos JPG ou PNG.
O
setSignatureAsyncmétodo não dá suporte a CSS embutido. Em vez disso, use CSS interno ou externo.Não há suporte para o
setSignatureAsyncmétodo em uma mensagem carregada no momento usando oloadItemByIdAsyncmétodo. Para obter mais informações, consulte Ativar seu suplemento do Outlook em várias mensagens.
Erros:
DataExceedsMaximumSize: Odataparâmetro tem mais de 30.000 caracteres.InvalidFormatError: Ooptions.coercionTypeparâmetro é definido comoOffice.CoercionType.Htmle o corpo da mensagem está em texto sem formatação.