Office.MessageCompose interface
O modo de composição de mensagens de Office.context.mailbox.item.
Importante:
Este é um objeto interno do Outlook, não exposto diretamente através de interfaces existentes. Deve tratar isto como um modo de
Office.context.mailbox.item
. Para obter mais informações, veja a página Modelo de Objeto .Ao chamar
Office.context.mailbox.item
uma mensagem, tenha em atenção que o Painel de Leitura no cliente do Outlook tem de estar ativado. Para obter orientações sobre como configurar o Painel de Leitura, consulte Utilizar e configurar o Painel de Leitura para pré-visualizar mensagens.
Interfaces principais:
- Extends
Propriedades
bcc | Obtém um objeto que fornece métodos para obter ou atualizar os destinatários na linha Bcc (cópia oculta de carbono) de uma mensagem. Consoante o cliente/plataforma (ou seja, Windows, Mac, etc.), podem aplicar-se limites ao número de destinatários que pode obter ou atualizar. Veja 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 |
conversation |
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 |
item |
Obtém o tipo de item que representa uma instância. A |
notification |
Obtém as mensagens de notificação de um item. |
subject | Obtém ou define a descrição que aparece no campo de assunto de um item. A propriedade A propriedade |
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 |
Métodos
add |
Adiciona um arquivo a uma mensagem ou um compromisso como um anexo. O método |
add |
Adiciona um arquivo a uma mensagem ou um compromisso como um anexo. O método |
add |
Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso. O método Posteriormente, você poderá usar o identificador com o método Se o seu Suplemento do Office estiver em execução no Outlook na Web ou no novo Outlook no Windows, o |
add |
Adiciona um item do Exchange, como uma mensagem, como anexo na mensagem ou no compromisso. O método Posteriormente, você poderá usar o identificador com o método Se o seu Suplemento do Office estiver em execução no Outlook na Web ou no novo Outlook no Windows, o |
close() | Fecha o item atual que está sendo composto. O comportamento do método No Outlook no Windows (clássico) e no Mac, o |
get |
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 assunto, o método devolve uma cadeia 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 Para aceder aos dados selecionados a partir da função de chamada de retorno, chame |
get |
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 assunto, o método devolve uma cadeia 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 Para aceder aos dados selecionados a partir da função de chamada de retorno, chame |
load |
Carrega de forma assíncrona as propriedades personalizadas para esse suplemento no item selecionado. As propriedades personalizadas são armazenadas como pares chave-valor numa base por aplicação, por item. Este método devolve um objeto CustomProperties na chamada de retorno, que fornece métodos para aceder às propriedades personalizadas específicas do item atual e do suplemento atual. As propriedades personalizadas não são encriptadas no item, pelo que não deve ser utilizado como armazenamento seguro. As propriedades personalizadas são fornecidas como um objeto |
remove |
Remove um anexo de uma mensagem ou de um compromisso. O método |
remove |
Remove um anexo de uma mensagem ou de um compromisso. O método |
save |
Guarda de forma assíncrona a mensagem atual como um rascunho. |
save |
Guarda de forma assíncrona a mensagem atual como um rascunho. |
set |
Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem. O |
set |
Insere de forma assíncrona os dados no corpo ou no assunto de uma mensagem. O |
Detalhes da propriedade
bcc
Obtém um objeto que fornece métodos para obter ou atualizar os destinatários na linha Bcc (cópia oculta de carbono) de uma mensagem.
Consoante o cliente/plataforma (ou seja, Windows, Mac, etc.), podem aplicar-se limites ao número de destinatários que pode obter ou atualizar. Veja 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: ler item
Modo Outlook aplicável: mensagem Compose
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: ler item
Modo Outlook aplicável: mensagem Compose
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.), podem aplicar-se limites ao número de destinatários que pode obter ou atualizar. Veja o objeto Destinatários para obter mais detalhes.
cc: Recipients;
Valor da propriedade
Comentários
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
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: ler item
Modo Outlook aplicável: mensagem Compose
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 devolve 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
Office.MailboxEnums.ItemType | string
Comentários
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
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;
}
notificationMessages
Obtém as mensagens de notificação de um item.
notificationMessages: NotificationMessages;
Valor da propriedade
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/35-notifications/add-getall-remove.yaml
// Adds a progress indicator to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.ProgressIndicator,
message: "Progress indicator with id = " + id
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds an informational notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Non-persistent informational notification message with id = " + id,
icon: "icon1",
persistent: false
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Adds a persistent information notification to the mail item.
const id = $("#notificationId").val().toString();
const details =
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Persistent informational notification message with id = " + id,
icon: "icon1",
persistent: true
};
Office.context.mailbox.item.notificationMessages.addAsync(id, details, handleResult);
...
// Gets all the notification messages and their keys for the current mail item.
Office.context.mailbox.item.notificationMessages.getAllAsync((asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
console.log(asyncResult.error.message);
return;
}
console.log(asyncResult.value);
});
...
// Replaces a notification message of a given key with another message.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.replaceAsync(
id,
{
type: Office.MailboxEnums.ItemNotificationMessageType.InformationalMessage,
message: "Notification message with id = " + id + " has been replaced with an informational message.",
icon: "icon2",
persistent: false
},
handleResult);
...
// Removes a notification message from the current mail item.
const id = $("#notificationId").val().toString();
Office.context.mailbox.item.notificationMessages.removeAsync(id, handleResult);
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: ler item
Modo Outlook aplicável: mensagem Compose
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.), podem aplicar-se limites ao número de destinatários que pode obter ou atualizar. Veja o objeto Destinatários para obter mais detalhes.
to: Recipients;
Valor da propriedade
Comentários
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
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.
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 programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
isInline
: se for verdadeiro, indica que o anexo será apresentado inline como uma imagem no corpo da mensagem e não será apresentado na lista de anexos.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Opcional. Quando o método for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Importante:
Nas compilações recentes do Outlook clássico no Windows, foi introduzido um erro que acrescenta incorretamente um
Authorization: Bearer
cabeçalho a esta ação (quer esteja a utilizar esta API ou a IU do Outlook). Para resolver este problema, pode tentar utilizar a API introduzida com oaddFileAttachmentFromBase64
requisito definido como 1.8.O URI do ficheiro a anexar tem de suportar a colocação em cache na produção. O servidor que aloja a imagem não deve devolver um
Cache-Control
cabeçalho que especifiqueno-cache
,no-store
ou opções semelhantes na resposta HTTP. No entanto, quando estiver a desenvolver o suplemento e a fazer alterações aos ficheiros, a colocação em cache pode impedi-lo de ver as suas alterações. Recomendamos a utilização deCache-Control
cabeçalhos durante o desenvolvimento.Pode utilizar o mesmo URI com o
removeAttachmentAsync
método para remover o anexo na mesma sessão.
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 demasiados anexos.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/40-attachments/attachments-compose.yaml
const attachmentUrl = $("#attachmentUrl")
.val()
.toString();
Office.context.mailbox.item.addFileAttachmentAsync(
attachmentUrl,
getFileName(attachmentUrl),
{ isInline: false },
(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.
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 for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Importante:
Nas compilações recentes do Outlook clássico no Windows, foi introduzido um erro que acrescenta incorretamente um
Authorization: Bearer
cabeçalho a esta ação (quer esteja a utilizar esta API ou a IU do Outlook). Para resolver este problema, pode tentar utilizar a API introduzida com oaddFileAttachmentFromBase64
requisito definido como 1.8.O URI do ficheiro a anexar tem de suportar a colocação em cache na produção. O servidor que aloja a imagem não deve devolver um
Cache-Control
cabeçalho que especifiqueno-cache
,no-store
ou opções semelhantes na resposta HTTP. No entanto, quando estiver a desenvolver o suplemento e a fazer alterações aos ficheiros, a colocação em cache pode impedi-lo de ver as suas alterações. Recomendamos a utilização deCache-Control
cabeçalhos durante o desenvolvimento.Pode utilizar o mesmo URI com o
removeAttachmentAsync
método para remover o anexo na mesma sessão.
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 demasiados 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 especificar uma função de chamada de retorno, o método é chamado com um parâmetro, asyncResult
, que contém o identificador do anexo ou um código que indica qualquer erro que tenha ocorrido ao anexar o item. Pode utilizar o parâmetro de opções para transmitir informações de estado para a função de chamada de retorno, se necessário.
Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync
para remover o anexo na mesma sessão.
Se o seu Suplemento do Office estiver em execução no Outlook na Web ou no novo Outlook no Windows, o addItemAttachmentAsync
método pode anexar itens a itens diferentes do item que está a editar. No entanto, isto não é suportado 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 programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Opcional. Quando o método for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Erros:
-
NumberOfAttachmentsExceeded
: a mensagem ou compromisso tem demasiados anexos.
Exemplos
// The following example adds an existing Outlook item as an attachment
// with the name "My Attachment".
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, (result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error("Failed to add attachment: " + result.error.message);
return;
}
console.log("Attachment added successfully.");
console.log("var1: " + result.asyncContext.var1);
console.log("var2: " + result.asyncContext.var2);
});
}
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 especificar uma função de chamada de retorno, o método é chamado com um parâmetro, asyncResult
, que contém o identificador do anexo ou um código que indica qualquer erro que tenha ocorrido ao anexar o item. Pode utilizar o parâmetro de opções para transmitir informações de estado para a função de chamada de retorno, se necessário.
Posteriormente, você poderá usar o identificador com o método removeAttachmentAsync
para remover o anexo na mesma sessão.
Se o seu Suplemento do Office estiver em execução no Outlook na Web ou no novo Outlook no Windows, o addItemAttachmentAsync
método pode anexar itens a itens diferentes do item que está a editar. No entanto, isto não é suportado 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 for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Erros:
-
NumberOfAttachmentsExceeded
: a mensagem ou compromisso tem demasiados anexos.
close()
Fecha o item atual que está sendo composto.
O comportamento do método close
depende do estado atual do item que está sendo redigido. Se o item tiver alterações não guardadas, o cliente pede ao utilizador para guardar, eliminar ou fechar a ação.
No Outlook no Windows (clássico) e no Mac, o close
método não tem qualquer efeito numa resposta no Painel de Leitura.
close(): void;
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: restrito
Modo Outlook aplicável: mensagem Compose
Importante: no Outlook na Web e no novo Outlook no Windows, se o item for um compromisso e tiver sido guardado anteriormente com saveAsync
o , é pedido ao utilizador que guarde, elimine ou cancele mesmo que não tenham ocorrido alterações desde a última vez que o item foi guardado.
Sugestão: utilize o método closeAsync em vez do close
método se pretender que o suplemento:
Elimine automaticamente uma mensagem que está a ser composta sem pedir ao utilizador com a caixa de diálogo guardar.
Determinar quando um utilizador cancela a caixa de diálogo guardar item numa mensagem que está a ser composta.
Feche uma resposta no Painel de Leitura ou num rascunho existente.
Exemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/25-item-save-and-close/close.yaml
Office.context.mailbox.item.close();
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 assunto, o método devolve uma cadeia 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 aceder aos dados selecionados a partir da função de chamada de retorno, chame asyncResult.value.data
. Para aceder à propriedade de origem da qual a seleção provém, 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 devolve o texto simples como uma cadeia, removendo todas as etiquetas HTML presentes. Se Html
, o método devolve o texto selecionado, quer seja texto simples ou HTML.
- options
- Office.AsyncContextOptions
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext
: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
Quando o método for concluído, a função transmitida no callback
parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult
.
Retornos
void
Os dados selecionados como uma cadeia com formato determinado por coercionType
.
Comentários
[ Conjunto de API: Caixa de Correio 1.2 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
Exemplos
// Get selected data.
Office.context.mailbox.item.getSelectedDataAsync(Office.CoercionType.Text, { option1: "option1"}, 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 assunto, o método devolve uma cadeia 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 aceder aos dados selecionados a partir da função de chamada de retorno, chame asyncResult.value.data
. Para aceder à propriedade de origem da qual a seleção provém, 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 devolve o texto simples como uma cadeia, removendo todas as etiquetas HTML presentes. Se Html
, o método devolve o texto selecionado, quer seja texto simples ou HTML.
- callback
-
(asyncResult: Office.AsyncResult<any>) => void
Quando o método for concluído, a função transmitida no callback
parâmetro é chamada com um único parâmetro do tipo Office.AsyncResult
.
Retornos
void
Os dados selecionados como uma cadeia com formato determinado por coercionType
.
Comentários
[ Conjunto de API: Caixa de Correio 1.2 ]
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
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 chave-valor numa base por aplicação, por item. Este método devolve um objeto CustomProperties na chamada de retorno, que fornece métodos para aceder às propriedades personalizadas específicas do item atual e do suplemento atual. As propriedades personalizadas não são encriptadas no item, pelo que não deve ser utilizado como armazenamento seguro.
As propriedades personalizadas são fornecidas como um objeto CustomProperties
na propriedade asyncResult.value
. Este objeto pode ser utilizado para obter, definir, guardar e remover propriedades personalizadas do item de correio.
loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;
Parâmetros
- callback
-
(asyncResult: Office.AsyncResult<Office.CustomProperties>) => void
Quando o método for concluído, a função transmitida 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 as propriedades personalizadas, consulte Obter e definir metadados de suplementos para um suplemento do Outlook.
Nível mínimo de permissão: ler item
Modo Outlook aplicável: mensagem Compose
Exemplos
// 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((result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(`loadCustomPropertiesAsync failed with message ${result.error.message}`);
return;
}
customProps = result.value;
console.log("Loaded the CustomProperties object.");
});
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. No Outlook na Web, em dispositivos móveis e no novo Outlook no Windows, o identificador de anexo só é válido na mesma sessão. Uma sessão termina quando o utilizador fecha a aplicação ou, se o utilizador começar a compor um formulário inline, é posteriormente apresentado o formulário para continuar numa 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 carateres é de attachmentId
200 carateres em Outlook na Web e no Windows (novo e clássico).
- options
- Office.AsyncContextOptions
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext
: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Importante*: o removeAttachmentAsync
método não remove anexos inline de um item de correio. Para remover um anexo inline, primeiro obtenha o corpo do item e, em seguida, remova quaisquer referências do anexo do respetivo conteúdo. Utilize as APIs Office.Body para obter e definir o corpo de um item.
Erros:
-
InvalidAttachmentId
: o identificador de anexo não existe.
Exemplos
// 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()
.toString(),
(result) => {
if (result.status === Office.AsyncResultStatus.Failed) {
console.error(result.error.message);
return;
}
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. No Outlook na Web, em dispositivos móveis e no novo Outlook no Windows, o identificador de anexo só é válido na mesma sessão. Uma sessão termina quando o utilizador fecha a aplicação ou, se o utilizador começar a compor um formulário inline, é posteriormente apresentado o formulário para continuar numa 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 carateres é de attachmentId
200 carateres em Outlook na Web e no Windows (novo e clássico).
- callback
-
(asyncResult: Office.AsyncResult<void>) => void
Opcional. Quando o método for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Importante*: o removeAttachmentAsync
método não remove anexos inline de um item de correio. Para remover um anexo inline, primeiro obtenha o corpo do item e, em seguida, remova quaisquer referências do anexo do respetivo conteúdo. Utilize as APIs Office.Body para obter e definir o corpo de um item.
Erros:
-
InvalidAttachmentId
: o identificador de anexo não existe.
saveAsync(options, callback)
Guarda de forma assíncrona a mensagem atual como um rascunho.
saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- options
- Office.AsyncContextOptions
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext
: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Quando o método for concluído, a função transmitida no callback
parâmetro é chamada com um único parâmetro, asyncResult
, que é um Office.AsyncResult
objeto. O ID da mensagem EWS é devolvido na asyncResult.value
propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: mensagem Compose
Importante:
No Outlook na Web, o novo Outlook no Windows ou o Outlook clássico no Windows no modo online (modo não colocado em cache), o item é guardado no servidor. No Outlook no modo cache, o item é salvo no cache local.
Ao trabalhar com conteúdo formatado em HTML, é importante ter em atenção que o cliente do Outlook pode modificar o conteúdo. Isto significa que as chamadas subsequentes para métodos como
Body.getAsync
,Body.setAsync
e até mesmosaveAsync
podem não resultar no mesmo conteúdo.O identificador devolvido é o mesmo que o identificador de item dos Serviços Web exchange (EWS). O ID do item devolvido não é idêntico ao ID de Entrada do Outlook ou ao ID utilizado pela API REST do Outlook. Antes de efetuar chamadas à API REST com este valor, deve ser convertida com
Office.context.mailbox.convertToRestId
.Se o seu suplemento chamar
saveAsync
para obter um ID de item para utilizar com o EWS ou a API REST, tenha em atenção que, quando o Outlook está no modo de cache, poderá demorar algum tempo até que o item seja realmente sincronizado com o servidor. Até o item ser sincronizado, a utilização do ID do item devolverá um erro.No Outlook na Web e no novo Outlook no Windows, a conta de caixa de correio para a qual um rascunho é guardado varia quando
saveAsync
é chamado numa mensagem que será enviada a partir de uma conta de caixa de correio partilhada. Se o remetente criar uma nova mensagem a partir da respetiva caixa de correio pessoal e selecionar a conta de caixa de correio partilhada no campo De ,saveAsync
guarda o rascunho na pasta Rascunhos da caixa de correio pessoal do utilizador. Se o remetente abrir a conta de caixa de correio partilhada num separador separador do browser (por exemplo, através da opção Abrir outra caixa de correio ) e criar uma nova mensagem,saveAsync
guarda o rascunho na pasta Rascunhos da caixa de correio partilhada.
Erros:
-
InvalidAttachmentId
: o identificador de anexo não existe.
saveAsync(callback)
Guarda de forma assíncrona a mensagem atual como um rascunho.
saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
Parâmetros
- callback
-
(asyncResult: Office.AsyncResult<string>) => void
Quando o método for concluído, a função transmitida no callback
parâmetro é chamada com um único parâmetro, asyncResult
, que é um Office.AsyncResult
objeto. O ID da mensagem EWS é devolvido na asyncResult.value
propriedade .
Retornos
void
Comentários
[ Conjunto de API: Caixa de Correio 1.3 ]
Nível mínimo de permissão: item de leitura/escrita
Modo Outlook aplicável: mensagem Compose
Importante:
No Outlook na Web, o novo Outlook no Windows ou o Outlook clássico no Windows no modo online (modo não colocado em cache), o item é guardado no servidor. No Outlook no modo cache, o item é salvo no cache local.
Ao trabalhar com conteúdo formatado em HTML, é importante ter em atenção que o cliente do Outlook pode modificar o conteúdo. Isto significa que as chamadas subsequentes para métodos como
Body.getAsync
,Body.setAsync
e até mesmosaveAsync
podem não resultar no mesmo conteúdo.O identificador devolvido é o mesmo que o identificador de item dos Serviços Web exchange (EWS). O ID do item devolvido não é idêntico ao ID de Entrada do Outlook ou ao ID utilizado pela API REST do Outlook. Antes de efetuar chamadas à API REST com este valor, deve ser convertida com
Office.context.mailbox.convertToRestId
.Se o seu suplemento chamar
saveAsync
para obter um ID de item para utilizar com o EWS ou a API REST, tenha em atenção que, quando o Outlook está no modo de cache, poderá demorar algum tempo até que o item seja realmente sincronizado com o servidor. Até o item ser sincronizado, a utilização do ID do item devolverá um erro.No Outlook na Web e no novo Outlook no Windows, a conta de caixa de correio para a qual um rascunho é guardado varia quando
saveAsync
é chamado numa mensagem que será enviada a partir de uma conta de caixa de correio partilhada. Se o remetente criar uma nova mensagem a partir da respetiva caixa de correio pessoal e selecionar a conta de caixa de correio partilhada no campo De ,saveAsync
guarda o rascunho na pasta Rascunhos da caixa de correio pessoal do utilizador. Se o remetente abrir a conta de caixa de correio partilhada num separador separador do browser (por exemplo, através da opção Abrir outra caixa de correio ) e criar uma nova mensagem,saveAsync
guarda o rascunho na pasta Rascunhos da caixa de correio partilhada.
Erros:
-
InvalidAttachmentId
: o identificador de anexo não existe.
Exemplos
Office.context.mailbox.item.saveAsync(
function callback(result) {
// Process the result.
});
// The following is an example of the
// `result` parameter passed to the
// callback function. The `value`
// property contains the item ID of
// the item.
{
"value": "AAMkADI5...AAA=",
"status": "succeeded"
}
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 especificada na localização do cursor no assunto ou corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, é devolvido um erro. 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
.
Um literal de objeto que contém uma ou mais das seguintes propriedades: asyncContext
: os programadores podem fornecer qualquer objeto a que pretendam aceder na função de chamada de retorno.
coercionType
: se for texto, o estilo atual é aplicado no Outlook na Web, no Windows (novo e clássico) e no Mac. Se o campo for um editor de HTML, apenas os dados de texto são inseridos, mesmo se os dados forem HTML. Se os dados forem HTML e o campo suportar HTML (o assunto não o faz), o estilo atual é aplicado no Outlook na Web e no novo Outlook no Windows. O estilo predefinido é aplicado no Outlook no Windows (clássico) e no Mac. 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 for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
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 especificada na localização do cursor no assunto ou corpo do item ou, se o texto estiver selecionado no editor, substitui o texto selecionado. Se o cursor não estiver no corpo ou no campo do assunto, é devolvido um erro. 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 for concluído, a função transmitida 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/escrita
Modo Outlook aplicável: mensagem Compose
Erros:
-
InvalidAttachmentId
: o identificador de anexo não existe.