Office.Mailbox interface

Fornece acesso ao modelo de objeto de suplemento do Microsoft Outlook.

Propriedades principais:

  • diagnostics: fornece informações de diagnóstico para um suplemento do Outlook.

  • item: fornece métodos e propriedades para acessar uma mensagem ou compromisso em um suplemento do Outlook.

  • userProfile: fornece informações sobre o usuário em um suplemento do Outlook.

Comentários

Nível mínimo de permissão: restrito

Modo outlook aplicável: compor ou ler

Propriedades

diagnostics

Fornece informações de diagnóstico para um suplemento do Outlook.

Contém os membros a seguir.

  • hostName (cadeia de caracteres): uma cadeia de caracteres que representa o nome do aplicativo do Office. Deve ser um dos seguintes valores: Outlook,OutlookWebApp ,OutlookIOS ou .OutlookAndroid Observação: o valor "Outlook" é retornado para o Outlook em clientes da área de trabalho (ou seja, Windows e Mac).

  • hostVersion(cadeia de caracteres): uma cadeia de caracteres que representa a versão do aplicativo do Office ou do Exchange Server (por exemplo, "15.0.468.0"). Se o suplemento de email estiver sendo executado no Outlook na área de trabalho ou em clientes móveis, a hostVersion propriedade retornará a versão do aplicativo, Outlook. Em Outlook na Web, a propriedade retorna a versão do Exchange Server.

  • OWAView(MailboxEnums.OWAView ou cadeia de caracteres): um enumeração (ou literal de cadeia de caracteres) que representa a exibição atual de Outlook na Web. Se o aplicativo não estiver Outlook na Web, o acesso a essa propriedade resultará em indefinido. Outlook na Web tem três exibições (OneColumn - exibidas quando a tela é estreita, TwoColumns - exibidas quando a tela é mais larga e ThreeColumns - exibidas quando a tela é larga) que correspondem à largura da tela e da janela e ao número de colunas que podem ser exibidas.

Mais informações estão em Office.Diagnostics.

ewsUrl

Obtém a URL do ponto de extremidade dos Serviços Web do Exchange (EWS) para esta conta de email.

item

O item da caixa de correio. Dependendo do contexto em que o suplemento foi aberto, o tipo de item pode variar. Se você quiser ver o IntelliSense apenas para um tipo ou modo específico, caste este item para um dos seguintes:

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Importante: item pode ser nulo se o suplemento der suporte à fixação do painel de tarefas. Para obter detalhes sobre como lidar, consulte Implementar um painel de tarefas fixável no Outlook.

masterCategories

Obtém um objeto que fornece métodos para gerenciar as categorias master lista associada a uma caixa de correio.

restUrl

Obtém a URL do ponto de extremidade de REST para esta conta de email.

Seu aplicativo deve ter a permissão de item de leitura especificada em seu manifesto para chamar o restUrl membro no modo de leitura.

No modo de composição, é preciso chamar o método saveAsync antes de poder usar o membro restUrl. Seu aplicativo deve ter permissões de item de leitura/gravação para chamar o saveAsync método.

No entanto, em cenários delegados ou compartilhados, você deve usar a targetRestUrl propriedade do objeto SharedProperties (introduzido no conjunto de requisitos 1.8). Para obter mais informações, consulte o artigo pastas compartilhadas e caixa de correio compartilhada .

userProfile

Informações sobre o usuário associado à caixa de correio. Isso inclui seu tipo de conta, nome de exibição, endereço de email e fuso horário.

Mais informações estão em Office.UserProfile

Métodos

addHandlerAsync(eventType, handler, options, callback)

Adiciona um manipulador de eventos a um evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

addHandlerAsync(eventType, handler, callback)

Adiciona um manipulador de eventos a um evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

convertToEwsId(id, restVersion)

Converte uma ID com suporte no formato EWS (Exchange Web Services).

convertToLocalClientTime(timeValue)

Obtém um dicionário contendo informações de hora em tempo local do cliente.

As datas e horários usados por um aplicativo de email para Outlook na Web ou em clientes da área de trabalho podem usar fusos horários diferentes. O Outlook usa o fuso horário do computador cliente; Outlook na Web usa o conjunto de fuso horário no EAC (Exchange Administração Center). Você deve lidar com valores de data e hora para que os valores exibidos na interface do usuário sejam sempre consistentes com o fuso horário que o usuário espera.

Se o aplicativo de email estiver em execução no Outlook em clientes da área de trabalho, o convertToLocalClientTime método retornará um objeto de dicionário com os valores definidos para o fuso horário do computador cliente. Se o aplicativo de email estiver em execução no Outlook na Web, o convertToLocalClientTime método retornará um objeto de dicionário com os valores definidos para o fuso horário especificado no EAC.

convertToRestId(id, restVersion)

Converte uma ID com suporte em formato REST.

convertToUtcClientTime(input)

Obtém um Date objeto de um dicionário que contém informações de tempo.

O convertToUtcClientTime método converte um dicionário que contém uma data e hora locais em um Date objeto com os valores corretos para a data e hora local.

displayAppointmentForm(itemId)

Exibe um compromisso de calendário existente.

O displayAppointmentForm método abre um compromisso de calendário existente em uma nova janela na área de trabalho.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

displayAppointmentFormAsync(itemId, options, callback)

Exibe um compromisso de calendário existente.

O método displayAppointmentFormAsync abre um compromisso de calendário existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayAppointmentFormAsync(itemId, callback)

Exibe um compromisso de calendário existente.

O método displayAppointmentFormAsync abre um compromisso de calendário existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayMessageForm(itemId)

Exibe uma mensagem existente.

O displayMessageForm método abre uma mensagem existente em uma nova janela na área de trabalho.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

displayMessageFormAsync(itemId, options, callback)

Exibe uma mensagem existente.

O método displayMessageFormAsync abre uma mensagem existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

Não use o displayMessageForm método ou displayMessageFormAsync com um itemId que represente um compromisso. Use o displayAppointmentForm método ou displayAppointmentFormAsync para exibir um compromisso existente e displayNewAppointmentForm ou displayNewAppointmentFormAsync para exibir um formulário para criar um novo compromisso.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayMessageFormAsync(itemId, callback)

Exibe uma mensagem existente.

O método displayMessageFormAsync abre uma mensagem existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

Não use o displayMessageForm método ou displayMessageFormAsync com um itemId que represente um compromisso. Use o displayAppointmentForm método ou displayAppointmentFormAsync para exibir um compromisso existente e displayNewAppointmentForm ou displayNewAppointmentFormAsync para exibir um formulário para criar um novo compromisso.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayNewAppointmentForm(parameters)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentForm abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar nenhum participante como argumentos de entrada, o método exibirá um formulário com um botão Salvar . Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewAppointmentFormAsync(parameters, options, callback)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentFormAsync abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar quaisquer participantes como argumentos de entrada, o método exibe um formulário com um botão Salvar. Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayNewAppointmentFormAsync(parameters, callback)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentFormAsync abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar quaisquer participantes como argumentos de entrada, o método exibe um formulário com um botão Salvar. Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayNewMessageForm(parameters)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageForm método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewMessageFormAsync(parameters, options, callback)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageFormAsync método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewMessageFormAsync(parameters, callback)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageFormAsync método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

getCallbackTokenAsync(options, callback)

Obtém uma cadeia de caracteres que contém um token usado para chamar APIs REST ou EWS (Exchange Web Services).

O método getCallbackTokenAsync faz uma chamada assíncrona para obter um token opaco do Exchange Server que hospeda a caixa de correio do usuário. A vida útil do token de retorno de chamada é de 5 minutos.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

getCallbackTokenAsync(callback, userContext)

Obtém uma cadeia de caracteres que contém um token usado para obter um anexo ou um item de um Exchange Server.

O método getCallbackTokenAsync faz uma chamada assíncrona para obter um token opaco do Exchange Server que hospeda a caixa de correio do usuário. A vida útil do token de retorno de chamada é de 5 minutos.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

getSelectedItemsAsync(options, callback)

Obtém mensagens selecionadas no momento nas quais um suplemento pode ativar e executar operações. Um suplemento pode ser ativado em no máximo 100 mensagens por vez. Para saber mais sobre várias opções de item, consulte Ativar seu suplemento do Outlook em várias mensagens.

getSelectedItemsAsync(callback)

Obtém mensagens selecionadas no momento nas quais um suplemento pode ativar e executar operações. Um suplemento pode ser ativado em no máximo 100 mensagens por vez. Para saber mais sobre várias opções de item, consulte Ativar seu suplemento do Outlook em várias mensagens.

getUserIdentityTokenAsync(callback, userContext)

Obtém um símbolo que identifica o usuário e o suplemento do Office.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

makeEwsRequestAsync(data, callback, userContext)

Faz uma solicitação assíncrona para um serviço EWS (Exchange Web Services) no servidor exchange que hospeda a caixa de correio do usuário.

O método makeEwsRequestAsync envia uma solicitação do EWS em nome do suplemento ao Exchange.

removeHandlerAsync(eventType, options, callback)

Remove um manipulador de eventos para um tipo de evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

removeHandlerAsync(eventType, callback)

Remove um manipulador de eventos para um tipo de evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

Detalhes da propriedade

diagnostics

Fornece informações de diagnóstico para um suplemento do Outlook.

Contém os membros a seguir.

  • hostName (cadeia de caracteres): uma cadeia de caracteres que representa o nome do aplicativo do Office. Deve ser um dos seguintes valores: Outlook,OutlookWebApp ,OutlookIOS ou .OutlookAndroid Observação: o valor "Outlook" é retornado para o Outlook em clientes da área de trabalho (ou seja, Windows e Mac).

  • hostVersion(cadeia de caracteres): uma cadeia de caracteres que representa a versão do aplicativo do Office ou do Exchange Server (por exemplo, "15.0.468.0"). Se o suplemento de email estiver sendo executado no Outlook na área de trabalho ou em clientes móveis, a hostVersion propriedade retornará a versão do aplicativo, Outlook. Em Outlook na Web, a propriedade retorna a versão do Exchange Server.

  • OWAView(MailboxEnums.OWAView ou cadeia de caracteres): um enumeração (ou literal de cadeia de caracteres) que representa a exibição atual de Outlook na Web. Se o aplicativo não estiver Outlook na Web, o acesso a essa propriedade resultará em indefinido. Outlook na Web tem três exibições (OneColumn - exibidas quando a tela é estreita, TwoColumns - exibidas quando a tela é mais larga e ThreeColumns - exibidas quando a tela é larga) que correspondem à largura da tela e da janela e ao número de colunas que podem ser exibidas.

Mais informações estão em Office.Diagnostics.

diagnostics: Diagnostics;

Valor da propriedade

Comentários

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

Modo outlook aplicável: compor ou ler

Começando com o conjunto de requisitos da caixa de correio 1.5, você também pode usar a propriedade Office.context.diagnóstico para obter informações semelhantes.

Exemplos

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

// This function gets a mailbox's diagnostic information, such as Outlook client and version, and logs it to the console.
const diagnostics = Office.context.mailbox.diagnostics;
console.log(`Client application: ${diagnostics.hostName}`);
console.log(`Client version: ${diagnostics.hostVersion}`);

switch (diagnostics.OWAView) {
  case undefined:
    console.log("Current view (Outlook on the web only): Not applicable. An Outlook desktop client is in use.");
    break;
  case Office.MailboxEnums.OWAView.OneColumnNarrow:
    console.log("Current view (Outlook on the web only): Viewed from an older generation mobile phone");
    break;
  case Office.MailboxEnums.OWAView.OneColumn:
    console.log("Current view (Outlook on the web only): Viewed from a newer generation mobile phone");
    break;
  case Office.MailboxEnums.OWAView.TwoColumns:
    console.log("Current view (Outlook on the web only): Viewed from a tablet");
    break;
  case Office.MailboxEnums.OWAView.ThreeColumns:
    console.log("Current view (Outlook on the web only): Viewed from a desktop computer");
    break;
}

ewsUrl

Obtém a URL do ponto de extremidade dos Serviços Web do Exchange (EWS) para esta conta de email.

ewsUrl: string;

Valor da propriedade

string

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compor ou ler

Importante:

  • Seu aplicativo deve ter a permissão de item de leitura especificada em seu manifesto para chamar o ewsUrl membro no modo de leitura.

  • No modo de composição, você deve chamar o saveAsync método antes de poder usar o ewsUrl membro. Seu aplicativo deve ter permissões de item de leitura/gravação para chamar o saveAsync método.

  • Essa propriedade não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • O valor ewsUrl pode ser usado por um serviço remoto para fazer chamadas do EWS à caixa de correio do usuário. Por exemplo, você pode criar um serviço remoto para obter anexos do item selecionado.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml

console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

item

O item da caixa de correio. Dependendo do contexto em que o suplemento foi aberto, o tipo de item pode variar. Se você quiser ver o IntelliSense apenas para um tipo ou modo específico, caste este item para um dos seguintes:

MessageCompose, MessageRead, AppointmentCompose, AppointmentRead

Importante: item pode ser nulo se o suplemento der suporte à fixação do painel de tarefas. Para obter detalhes sobre como lidar, consulte Implementar um painel de tarefas fixável no Outlook.

item?: Item & ItemCompose & ItemRead & Message & MessageCompose & MessageRead & Appointment & AppointmentCompose & AppointmentRead;

Valor da propriedade

masterCategories

Obtém um objeto que fornece métodos para gerenciar as categorias master lista associada a uma caixa de correio.

masterCategories: MasterCategories;

Valor da propriedade

Comentários

[ Conjunto de API: Caixa de correio 1.8 ]

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

Modo outlook aplicável: compor ou ler

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/45-categories/work-with-master-categories.yaml

Office.context.mailbox.masterCategories.getAsync(function(asyncResult) {
  if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
    const categories = asyncResult.value;
    if (categories && categories.length > 0) {
      console.log("Master categories:");
      console.log(JSON.stringify(categories));
    } else {
      console.log("There are no categories in the master list.");
    }
  } else {
    console.error(asyncResult.error);
  }
});

...

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

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

...

const masterCategoriesToRemove = ["TestCategory"];

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

restUrl

Obtém a URL do ponto de extremidade de REST para esta conta de email.

Seu aplicativo deve ter a permissão de item de leitura especificada em seu manifesto para chamar o restUrl membro no modo de leitura.

No modo de composição, é preciso chamar o método saveAsync antes de poder usar o membro restUrl. Seu aplicativo deve ter permissões de item de leitura/gravação para chamar o saveAsync método.

No entanto, em cenários delegados ou compartilhados, você deve usar a targetRestUrl propriedade do objeto SharedProperties (introduzido no conjunto de requisitos 1.8). Para obter mais informações, consulte o artigo pastas compartilhadas e caixa de correio compartilhada .

restUrl: string;

Valor da propriedade

string

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler

O valor restUrl pode ser usado para fazer chamadas da API REST para a caixa de correio do usuário.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml

Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    const ewsId = Office.context.mailbox.item.itemId;
    const token = result.value;
    const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    const getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    const xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});

...

console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

userProfile

Informações sobre o usuário associado à caixa de correio. Isso inclui seu tipo de conta, nome de exibição, endereço de email e fuso horário.

Mais informações estão em Office.UserProfile

userProfile: UserProfile;

Valor da propriedade

Detalhes do método

addHandlerAsync(eventType, handler, options, callback)

Adiciona um manipulador de eventos a um evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

addHandlerAsync(eventType: Office.EventType | string, handler: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

eventType

Office.EventType | string

O evento que deve invocar o manipulador.

handler

any

A função para manipular o evento. A função deve aceitar um parâmetro exclusivo, que é um objeto literal. A type propriedade no parâmetro corresponderá ao eventType parâmetro passado para addHandlerAsync.

options
Office.AsyncContextOptions

Fornece uma opção para preservar dados de contexto de qualquer tipo, inalterados, para uso em um retorno de chamada.

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler

Exemplos

Office.initialize = function (reason) {
    $(document).ready(function () {
        Office.context.mailbox.addHandlerAsync(
            Office.EventType.ItemChanged,
            loadNewItem,
            function (result) {
                if (result.status === Office.AsyncResultStatus.Failed) {
                    // Handle error.
                }
            });
    });
};

function loadNewItem(eventArgs) {
    const item = Office.context.mailbox.item;

    // Check that item is not null.
    if (item !== null) {
        // Work with item, e.g., define and call function that
        // loads the properties of the newly selected item.
        loadProps(item);
    }
}

addHandlerAsync(eventType, handler, callback)

Adiciona um manipulador de eventos a um evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

addHandlerAsync(eventType: Office.EventType | string, handler: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

eventType

Office.EventType | string

O evento que deve invocar o manipulador.

handler

any

A função para manipular o evento. A função deve aceitar um parâmetro exclusivo, que é um objeto literal. A type propriedade no parâmetro corresponderá ao eventType parâmetro passado para addHandlerAsync.

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler

convertToEwsId(id, restVersion)

Converte uma ID com suporte no formato EWS (Exchange Web Services).

convertToEwsId(id: string, restVersion: MailboxEnums.RestVersion | string): string;

Parâmetros

id

string

A ID a ser convertida em formato EWS. Essa cadeia de caracteres pode ser uma ID de item formatada para as APIs REST do Outlook ou uma ID de conversa recuperada de Office.context.mailbox.item.conversationId.

restVersion

Office.MailboxEnums.RestVersion | string

Um valor que indica a versão da API REST do Outlook usada para recuperar a ID do item.

Retornos

string

Comentários

[ Conjunto de API: Caixa de correio 1.3 ]

Nível mínimo de permissão: restrito

Modo outlook aplicável: compor ou ler

Importante:

  • Esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • As IDs de item recuperadas por meio de uma API REST (como a API do Outlook Mail ou o Microsoft Graph) usam um formato diferente do formato usado pelo EWS. O método convertToEwsId converte uma ID formatada como REST para o formato adequado para EWS.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/ids-and-urls.yaml

console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

convertToLocalClientTime(timeValue)

Obtém um dicionário contendo informações de hora em tempo local do cliente.

As datas e horários usados por um aplicativo de email para Outlook na Web ou em clientes da área de trabalho podem usar fusos horários diferentes. O Outlook usa o fuso horário do computador cliente; Outlook na Web usa o conjunto de fuso horário no EAC (Exchange Administração Center). Você deve lidar com valores de data e hora para que os valores exibidos na interface do usuário sejam sempre consistentes com o fuso horário que o usuário espera.

Se o aplicativo de email estiver em execução no Outlook em clientes da área de trabalho, o convertToLocalClientTime método retornará um objeto de dicionário com os valores definidos para o fuso horário do computador cliente. Se o aplicativo de email estiver em execução no Outlook na Web, o convertToLocalClientTime método retornará um objeto de dicionário com os valores definidos para o fuso horário especificado no EAC.

convertToLocalClientTime(timeValue: Date): LocalClientTime;

Parâmetros

timeValue

Date

Um Date objeto.

Retornos

Comentários

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

Modo outlook aplicável: compor ou ler

convertToRestId(id, restVersion)

Converte uma ID com suporte em formato REST.

convertToRestId(id: string, restVersion: MailboxEnums.RestVersion | string): string;

Parâmetros

id

string

A ID a ser convertida em formato REST. Essa cadeia de caracteres pode ser uma ID de item formatada para EWS que geralmente é recuperada de Office.context.mailbox.item.itemId, uma ID de conversa recuperada deOffice.context.mailbox.item.conversationId , ou uma ID de série recuperada deOffice.context.mailbox.item.seriesId .

restVersion

Office.MailboxEnums.RestVersion | string

Um valor que indica a versão da API REST do Outlook usada com a ID convertida.

Retornos

string

Comentários

[ Conjunto de API: Caixa de correio 1.3 ]

Nível mínimo de permissão: restrito

Modo outlook aplicável: compor ou ler

Importante:

  • Esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • As IDs de item recuperadas por meio do EWS (Exchange Web Services) ou por meio da itemId propriedade usam um formato diferente do formato usado pelas APIs REST (como a API do Outlook Mail ou o Microsoft Graph). O método convertToRestId converte uma ID formatada como EWS para o formato adequado para REST.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml

Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    const ewsId = Office.context.mailbox.item.itemId;
    const token = result.value;
    const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    const getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    const xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});

...

console.log("EWS URL: " + Office.context.mailbox.ewsUrl);
const ewsId = Office.context.mailbox.item.itemId;
console.log("EWS item ID: " + Office.context.mailbox.item.itemId);

console.log("REST URL: " + Office.context.mailbox.restUrl);
const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
console.log("REST item ID: " + restId);

const ewsId2 = Office.context.mailbox.convertToEwsId(restId, Office.MailboxEnums.RestVersion.v2_0);
console.log("EWS ID (from REST ID): " + ewsId2);

convertToUtcClientTime(input)

Obtém um Date objeto de um dicionário que contém informações de tempo.

O convertToUtcClientTime método converte um dicionário que contém uma data e hora locais em um Date objeto com os valores corretos para a data e hora local.

convertToUtcClientTime(input: LocalClientTime): Date;

Parâmetros

input
Office.LocalClientTime

O valor de hora local a converter.

Retornos

Date

Um objeto Date com a hora expressa em UTC.

Comentários

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

Modo outlook aplicável: compor ou ler

Exemplos

// Represents 3:37 PM PDT on Monday, August 26, 2019.
const input = {
    date: 26,
    hours: 15,
    milliseconds: 2,
    minutes: 37,
    month: 7,
    seconds: 2,
    timezoneOffset: -420,
    year: 2019
};

// result should be a Date object.
const result = Office.context.mailbox.convertToUtcClientTime(input);

// Output should be "2019-08-26T22:37:02.002Z".
console.log(result.toISOString());

displayAppointmentForm(itemId)

Exibe um compromisso de calendário existente.

O displayAppointmentForm método abre um compromisso de calendário existente em uma nova janela na área de trabalho.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

displayAppointmentForm(itemId: string): void;

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para um compromisso de calendário existente.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compor ou ler

Importante: esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml

const itemId = $("#itemId").val();
Office.context.mailbox.displayAppointmentForm(itemId);

displayAppointmentFormAsync(itemId, options, callback)

Exibe um compromisso de calendário existente.

O método displayAppointmentFormAsync abre um compromisso de calendário existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

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

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para um compromisso de calendário existente.

options
Office.AsyncContextOptions

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

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: compor ou ler

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-appointment.yaml

const itemId = $("#itemId").val();

// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayAppointmentFormAsync(itemId, function(asyncResult) {
  console.log("Result: " + JSON.stringify(asyncResult));
});

displayAppointmentFormAsync(itemId, callback)

Exibe um compromisso de calendário existente.

O método displayAppointmentFormAsync abre um compromisso de calendário existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

No Outlook no Mac, você pode usar esse método para exibir um único compromisso que não faz parte de uma série recorrente ou o compromisso master de uma série recorrente. No entanto, você não pode exibir uma instância da série porque não pode acessar as propriedades (incluindo a ID do item) de instâncias de uma série recorrente.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar um compromisso existente, um painel em branco será aberto no computador ou dispositivo cliente e nenhuma mensagem de erro será retornada.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

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

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para um compromisso de calendário existente.

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, , asyncResultque é um Office.AsyncResult objeto.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: compor ou ler

displayMessageForm(itemId)

Exibe uma mensagem existente.

O displayMessageForm método abre uma mensagem existente em uma nova janela na área de trabalho.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

displayMessageForm(itemId: string): void;

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para uma mensagem existente.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compor ou ler

Importante:

  • Esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não use o displayMessageForm com um itemId que representa um compromisso. Use o método displayAppointmentForm para exibir um compromisso existente e displayNewAppointmentForm para exibir um formulário e criar um novo compromisso.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml

const itemId = $("#itemId").val();
Office.context.mailbox.displayMessageForm(itemId);

displayMessageFormAsync(itemId, options, callback)

Exibe uma mensagem existente.

O método displayMessageFormAsync abre uma mensagem existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

Não use o displayMessageForm método ou displayMessageFormAsync com um itemId que represente um compromisso. Use o displayAppointmentForm método ou displayAppointmentFormAsync para exibir um compromisso existente e displayNewAppointmentForm ou displayNewAppointmentFormAsync para exibir um formulário para criar um novo compromisso.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

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

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para uma mensagem existente.

options
Office.AsyncContextOptions

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

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: compor ou ler

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-existing-message.yaml

const itemId = $("#itemId").val();

// The async version will return error 9049 if the item is not found.
// The async version is only available starting with requirement set 1.9.
Office.context.mailbox.displayMessageFormAsync(itemId, function (asyncResult) {
 console.log("Result: " + JSON.stringify(asyncResult));
});

displayMessageFormAsync(itemId, callback)

Exibe uma mensagem existente.

O método displayMessageFormAsync abre uma mensagem existente em uma nova janela na área de trabalho ou em uma caixa de diálogo em dispositivos móveis.

Em Outlook na Web, esse método abre o formulário especificado somente se o corpo do formulário for menor ou igual a 32K caracteres.

Se o identificador de item especificado não identificar uma mensagem existente, nenhuma mensagem será exibida no computador cliente e nenhuma mensagem de erro será retornada.

Não use o displayMessageForm método ou displayMessageFormAsync com um itemId que represente um compromisso. Use o displayAppointmentForm método ou displayAppointmentFormAsync para exibir um compromisso existente e displayNewAppointmentForm ou displayNewAppointmentFormAsync para exibir um formulário para criar um novo compromisso.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

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

Parâmetros

itemId

string

O identificador dos Serviços Web do Exchange (EWS) para uma mensagem existente.

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, , asyncResultque é um Office.AsyncResult objeto.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: compor ou ler

displayNewAppointmentForm(parameters)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentForm abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar nenhum participante como argumentos de entrada, o método exibirá um formulário com um botão Salvar . Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewAppointmentForm(parameters: AppointmentForm): void;

Parâmetros

parameters
Office.AppointmentForm

Uma AppointmentForm que descreve o novo compromisso. Todas as propriedades são opcionais.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: Leitura

Importante: esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml

const start = new Date();
const end = new Date();
end.setHours(start.getHours() + 1);

Office.context.mailbox.displayNewAppointmentForm({
  requiredAttendees: ["bob@contoso.com"],
  optionalAttendees: ["sam@contoso.com"],
  start: start,
  end: end,
  location: "Home",
  subject: "meeting",
  resources: ["projector@contoso.com"],
  body: "Hello World!"
});

displayNewAppointmentFormAsync(parameters, options, callback)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentFormAsync abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar quaisquer participantes como argumentos de entrada, o método exibe um formulário com um botão Salvar. Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayNewAppointmentFormAsync(parameters: AppointmentForm, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

parameters
Office.AppointmentForm

Uma AppointmentForm que descreve o novo compromisso. Todas as propriedades são opcionais.

options
Office.AsyncContextOptions

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

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: Leitura

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-appointment.yaml

const start = new Date();
const end = new Date();
end.setHours(start.getHours() + 1);

// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new appointment form has been created.
Office.context.mailbox.displayNewAppointmentFormAsync(
  {
    requiredAttendees: ["bob@contoso.com"],
    optionalAttendees: ["sam@contoso.com"],
    start: start,
    end: end,
    location: "Home",
    subject: "meeting",
    resources: ["projector@contoso.com"],
    body: "Hello World!"
  },
  function(asyncResult) {
    console.log(JSON.stringify(asyncResult));
  }
);

displayNewAppointmentFormAsync(parameters, callback)

Exibe um formulário para criar um compromisso no calendário.

O método displayNewAppointmentFormAsync abre um formulário que permite ao usuário criar um novo compromisso ou reunião. Se os parâmetros forem especificados, os campos de formulário do compromisso serão preenchidos automaticamente com o conteúdo dos parâmetros.

Em Outlook na Web, esse método sempre exibe um formulário com um campo de participantes. Se você não especificar quaisquer participantes como argumentos de entrada, o método exibe um formulário com um botão Salvar. Se você especificar participantes, o formulário inclui os participantes e um botão Enviar.

No cliente rico do Outlook e no Outlook RT, se você especificar quaisquer participantes ou recursos no requiredAttendeesparâmetro , optionalAttendeesou resources , esse método exibirá um formulário de reunião com um botão Enviar . Se você não especificar destinatários, este método exibirá um formulário de compromisso com um botão Salvar e Fechar.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

Observação: esse método não tem suporte no Outlook no iOS ou no Android.

displayNewAppointmentFormAsync(parameters: AppointmentForm, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

parameters
Office.AppointmentForm

Uma AppointmentForm que descreve o novo compromisso. Todas as propriedades são opcionais.

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, , asyncResultque é um Office.AsyncResult objeto.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: Leitura

displayNewMessageForm(parameters)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageForm método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewMessageForm(parameters: any): void;

Parâmetros

parameters

any

Um dicionário que contém todos os valores a serem preenchidos para o usuário no novo formulário. Todos os parâmetros são opcionais.

toRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha To . A matriz está limitada a um máximo de 100 entradas.

ccRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Cc . A matriz está limitada a um máximo de 100 entradas.

bccRecipients: uma matriz de cadeias de caracteres que contêm os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Bcc . A matriz está limitada a um máximo de 100 entradas.

subject: uma cadeia de caracteres que contém o assunto da mensagem. A cadeia de caracteres está limitada a um máximo de 255 caracteres.

htmlBody: o corpo HTML da mensagem. O conteúdo do corpo está limitado a um tamanho máximo de 32 KB.

attachments: uma matriz de objetos JSON que são anexos de arquivo ou item.

attachments.type: indica o tipo de anexo. Deve ser arquivo para um anexo de arquivo ou item para um anexo de item.

attachments.name: uma cadeia de caracteres que contém o nome do anexo, com até 255 caracteres de comprimento.

attachments.url: usado somente se o tipo estiver definido como arquivo. O URI do local para o arquivo. Importante: este link deve ser acessível publicamente, sem a necessidade de autenticação por servidores Exchange Online. No entanto, com o Exchange local, o link pode ser acessível em uma rede privada, desde que não precise de autenticação adicional.

attachments.isInline: usado somente se o tipo estiver definido como arquivo. Se for verdadeiro, indica que o anexo será mostrado embutido no corpo da mensagem e não deve ser exibido na lista de anexos.

attachments.itemId: usado somente se o tipo estiver definido como item. A ID do item EWS do email existente que você deseja anexar à nova mensagem. Isso é uma cadeia de até 100 caracteres.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.6 ]

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

Modo outlook aplicável: Leitura

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml

Office.context.mailbox.displayNewMessageForm({
  toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
  ccRecipients: ["sam@contoso.com"],
  subject: "Outlook add-ins are cool!",
  htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
  attachments: [
    {
      type: "file",
      name: "image.png",
      url: "http://www.cutestpaw.com/wp-content/uploads/2011/11/Cute-Black-Dogs-s.jpg",
      isInline: true
    }
  ]
});

displayNewMessageFormAsync(parameters, options, callback)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageFormAsync método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewMessageFormAsync(parameters: any, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

parameters

any

Um dicionário que contém todos os valores a serem preenchidos para o usuário no novo formulário. Todos os parâmetros são opcionais.

toRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha To . A matriz está limitada a um máximo de 100 entradas.

ccRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Cc . A matriz está limitada a um máximo de 100 entradas.

bccRecipients: uma matriz de cadeias de caracteres que contêm os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Bcc . A matriz está limitada a um máximo de 100 entradas.

subject: uma cadeia de caracteres que contém o assunto da mensagem. A cadeia de caracteres está limitada a um máximo de 255 caracteres.

htmlBody: o corpo HTML da mensagem. O conteúdo do corpo está limitado a um tamanho máximo de 32 KB.

attachments: uma matriz de objetos JSON que são anexos de arquivo ou item.

attachments.type: indica o tipo de anexo. Deve ser arquivo para um anexo de arquivo ou item para um anexo de item.

attachments.name: uma cadeia de caracteres que contém o nome do anexo, com até 255 caracteres de comprimento.

attachments.url: usado somente se o tipo estiver definido como arquivo. O URI do local para o arquivo. Importante: este link deve ser acessível publicamente, sem a necessidade de autenticação por servidores Exchange Online. No entanto, com o Exchange local, o link pode ser acessível em uma rede privada, desde que não precise de autenticação adicional.

attachments.isInline: usado somente se o tipo estiver definido como arquivo. Se for verdadeiro, indica que o anexo será mostrado embutido no corpo da mensagem e não deve ser exibido na lista de anexos.

attachments.itemId: usado somente se o tipo estiver definido como item. A ID do item EWS do email existente que você deseja anexar à nova mensagem. Isso é uma cadeia de até 100 caracteres.

options
Office.AsyncContextOptions

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

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: Leitura

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/55-display-items/display-new-message.yaml

// The async version is only available starting with requirement set 1.9,
// and provides a callback when the new message form has been created.
Office.context.mailbox.displayNewMessageFormAsync(
  {
    toRecipients: Office.context.mailbox.item.to, // Copies the To line from current item
    ccRecipients: ["sam@contoso.com"],
    subject: "Outlook add-ins are cool!",
    htmlBody: 'Hello <b>World</b>!<br/><img src="cid:image.png"></i>',
    attachments: [
      {
        type: "file",
        name: "image.png",
        url: "http://www.cutestpaw.com/wp-content/uploads/2011/11/Cute-Black-Dogs-s.jpg",
        isInline: true
      }
    ]
  },
  function(asyncResult) {
    console.log(JSON.stringify(asyncResult));
  }
);

displayNewMessageFormAsync(parameters, callback)

Exibe um formulário para criar uma nova mensagem.

O displayNewMessageFormAsync método abre um formulário que permite que o usuário crie uma nova mensagem. Se os parâmetros forem especificados, os campos de formulário de mensagem serão preenchidos automaticamente com o conteúdo dos parâmetros.

Se qualquer dos parâmetros exceder os limites de tamanho especificados, ou se um nome de parâmetro desconhecido for especificado, ocorre uma exceção.

displayNewMessageFormAsync(parameters: any, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

parameters

any

Um dicionário que contém todos os valores a serem preenchidos para o usuário no novo formulário. Todos os parâmetros são opcionais.

toRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha To . A matriz está limitada a um máximo de 100 entradas.

ccRecipients: uma matriz de cadeias de caracteres que contém os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Cc . A matriz está limitada a um máximo de 100 entradas.

bccRecipients: uma matriz de cadeias de caracteres que contêm os endereços de email ou uma matriz que contém um objeto EmailAddressDetails para cada um dos destinatários na linha Bcc . A matriz está limitada a um máximo de 100 entradas.

subject: uma cadeia de caracteres que contém o assunto da mensagem. A cadeia de caracteres está limitada a um máximo de 255 caracteres.

htmlBody: o corpo HTML da mensagem. O conteúdo do corpo está limitado a um tamanho máximo de 32 KB.

attachments: uma matriz de objetos JSON que são anexos de arquivo ou item.

attachments.type: indica o tipo de anexo. Deve ser arquivo para um anexo de arquivo ou item para um anexo de item.

attachments.name: uma cadeia de caracteres que contém o nome do anexo, com até 255 caracteres de comprimento.

attachments.url: usado somente se o tipo estiver definido como arquivo. O URI do local para o arquivo. Importante: este link deve ser acessível publicamente, sem a necessidade de autenticação por servidores Exchange Online. No entanto, com o Exchange local, o link pode ser acessível em uma rede privada, desde que não precise de autenticação adicional.

attachments.isInline: usado somente se o tipo estiver definido como arquivo. Se for verdadeiro, indica que o anexo será mostrado embutido no corpo da mensagem e não deve ser exibido na lista de anexos.

attachments.itemId: usado somente se o tipo estiver definido como item. A ID do item EWS do email existente que você deseja anexar à nova mensagem. Isso é uma cadeia de até 100 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, , asyncResultque é um Office.AsyncResult objeto.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.9 ]

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

Modo outlook aplicável: Leitura

getCallbackTokenAsync(options, callback)

Obtém uma cadeia de caracteres que contém um token usado para chamar APIs REST ou EWS (Exchange Web Services).

O método getCallbackTokenAsync faz uma chamada assíncrona para obter um token opaco do Exchange Server que hospeda a caixa de correio do usuário. A vida útil do token de retorno de chamada é de 5 minutos.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

getCallbackTokenAsync(options: Office.AsyncContextOptions & { isRest?: boolean }, callback: (asyncResult: Office.AsyncResult<string>) => void): void;

Parâmetros

options

Office.AsyncContextOptions & { isRest?: boolean }

Um literal de objeto que contém uma ou mais das seguintes propriedades:- isRest: Determina se o token fornecido será usado para as APIs REST do Outlook ou serviços Web do Exchange. O valor padrão é false. asyncContext: todos os dados de estado que são passados para o método assíncrono.

callback

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

Quando o método é concluído, a função passada no parâmetro de retorno de chamada é chamada com um único parâmetro do tipo Office.AsyncResult. O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade. Se ocorreu um erro, as propriedadesasyncResult.error e asyncResult.diagnostics podem fornecer informações adicionais.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler

Importante:

  • Em outubro de 2024, a identidade do usuário herdado e os tokens de retorno de chamada do Exchange serão desativados por padrão para todos os locatários Exchange Online. Isso faz parte da Iniciativa De Futuro Seguro da Microsoft, que fornece às organizações as ferramentas necessárias para responder ao cenário atual de ameaças. Os tokens de identidade do usuário do Exchange ainda funcionarão para o Exchange local. A autenticação de aplicativo aninhada é a abordagem recomendada para tokens daqui para frente. Para obter mais informações, confira nossa página de perguntasfrequentes e postagem no blog.

  • Esse método só tem suporte no modo de leitura no Outlook no Android e no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Não há suporte para operações EWS em suplementos em execução no Outlook no iOS e no Android. Um token REST sempre é retornado em clientes móveis do Outlook, mesmo que options.isRest esteja definido como false.

  • Chamar o getCallbackTokenAsync método no modo de leitura requer um nível mínimo de permissão do item de leitura.

  • Chamar o getCallbackTokenAsync método no modo de composição exige que você tenha salvo o item. O saveAsync método requer um nível de permissão mínimo de item de leitura/gravação.

  • Para obter diretrizes sobre cenários delegados ou compartilhados, consulte o artigo pastas compartilhadas e caixa de correio compartilhada .

Tokens REST

Quando um token REST é solicitado (options.isRest = true), o token resultante não funcionará para autenticar chamadas EWS. O token será limitado no escopo para acesso somente leitura ao item atual e seus anexos, a menos que o suplemento tenha especificado a permissão de caixa de correio de leitura/gravação em seu manifesto. Se a permissão de caixa de correio de leitura/gravação for especificada, o token resultante concederá acesso de leitura/gravação a emails, calendário e contatos, incluindo a capacidade de enviar emails.

O suplemento deve usar a propriedade restUrl para determinar a URL correta a ser usada ao fazer chamadas da API REST.

Essa API funciona para os escopos a seguir.

  • Mail.ReadWrite

  • Mail.Send

  • Calendars.ReadWrite

  • Contacts.ReadWrite

Tokens EWS

Quando um token EWS é solicitado (options.isRest = false), o token resultante não funcionará para autenticar chamadas de API REST. O token será limitado em escopo para acessar o item atual.

O suplemento deve usar a propriedade ewsUrl para determinar a URL correta a ser usada ao fazer chamadas de EWS.

Você pode passar o token e um identificador de anexo ou identificador de item para um sistema externo. Esse sistema usa o token como um token de autorização do portador para chamar a operação GetAttachment do Exchange Web Services (EWS) ou a operação GetItem para retornar um anexo ou item. Por exemplo, você pode criar um serviço remoto para obter anexos do item selecionado.

Erros:

  • HTTPRequestFailure: a solicitação falhou. Examine o objeto de diagnóstico para o código de erro HTTP.

  • InternalServerError: o servidor exchange retornou um erro. Para saber mais, confira o objeto de diagnóstico.

  • NetworkError: o usuário não está mais conectado à rede. Verifique sua conexão de rede e tente novamente.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/basic-rest-cors.yaml

Office.context.mailbox.getCallbackTokenAsync({ isRest: true }, function (result) {
    const ewsId = Office.context.mailbox.item.itemId;
    const token = result.value;
    const restId = Office.context.mailbox.convertToRestId(ewsId, Office.MailboxEnums.RestVersion.v2_0);
    const getMessageUrl = Office.context.mailbox.restUrl + '/v2.0/me/messages/' + restId;
            
    const xhr = new XMLHttpRequest();
    xhr.open('GET', getMessageUrl);
    xhr.setRequestHeader("Authorization", "Bearer " + token);
    xhr.onload = function (e) {
        console.log(this.response);
    }
    xhr.send();
});

getCallbackTokenAsync(callback, userContext)

Obtém uma cadeia de caracteres que contém um token usado para obter um anexo ou um item de um Exchange Server.

O método getCallbackTokenAsync faz uma chamada assíncrona para obter um token opaco do Exchange Server que hospeda a caixa de correio do usuário. A vida útil do token de retorno de chamada é de 5 minutos.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

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

Parâmetros

callback

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

Quando o método é concluído, a função passada no parâmetro de retorno de chamada é chamada com um único parâmetro do tipo Office.AsyncResult. O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade. Se ocorreu um erro, as propriedadesasyncResult.error e asyncResult.diagnostics podem fornecer informações adicionais.

userContext

any

Opcional. Quaisquer dados de estado que são passados ao método assíncrono.

Retornos

void

Comentários

[ Conjunto de API: todos dão suporte ao modo de leitura; A caixa de correio 1.3 introduziu o suporte ao modo Compose ]

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

Modo outlook aplicável: compor ou ler

Importante:

  • Em outubro de 2024, a identidade do usuário herdado e os tokens de retorno de chamada do Exchange serão desativados por padrão para todos os locatários Exchange Online. Isso faz parte da Iniciativa De Futuro Seguro da Microsoft, que fornece às organizações as ferramentas necessárias para responder ao cenário atual de ameaças. Os tokens de identidade do usuário do Exchange ainda funcionarão para o Exchange local. A autenticação de aplicativo aninhada é a abordagem recomendada para tokens daqui para frente. Para obter mais informações, confira nossa página de perguntasfrequentes e postagem no blog.

  • Você pode passar o token e um identificador de anexo ou identificador de item para um sistema externo. Esse sistema usa o token como um token de autorização do portador para chamar a operação GetAttachment ou GetItem do Exchange Web Services (EWS) para retornar um anexo ou item. Por exemplo, você pode criar um serviço remoto para obter anexos do item selecionado.

  • Chamar o getCallbackTokenAsync método no modo de leitura requer um nível mínimo de permissão do item de leitura.

  • Chamar o getCallbackTokenAsync método no modo de composição exige que você tenha salvo o item. O saveAsync método requer um nível de permissão mínimo de item de leitura/gravação.

  • Esse método não tem suporte no Outlook no Android ou no iOS. Não há suporte para operações EWS em suplementos em execução no Outlook em clientes móveis. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Para obter diretrizes sobre cenários delegados ou compartilhados, consulte o artigo pastas compartilhadas e caixa de correio compartilhada .

Erros:

  • HTTPRequestFailure: a solicitação falhou. Examine o objeto de diagnóstico para o código de erro HTTP.

  • InternalServerError: o servidor exchange retornou um erro. Para saber mais, confira o objeto de diagnóstico.

  • NetworkError: o usuário não está mais conectado à rede. Verifique sua conexão de rede e tente novamente.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/user-callback-token.yaml

Office.context.mailbox.getCallbackTokenAsync(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(`Token retrieval failed with message: ${result.error.message}`);
    } else {
        console.log(result.value);
    }
});

getSelectedItemsAsync(options, callback)

Obtém mensagens selecionadas no momento nas quais um suplemento pode ativar e executar operações. Um suplemento pode ser ativado em no máximo 100 mensagens por vez. Para saber mais sobre várias opções de item, consulte Ativar seu suplemento do Outlook em várias mensagens.

getSelectedItemsAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SelectedItemDetails[]>) => void): void;

Parâmetros

options
Office.AsyncContextOptions

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

callback

(asyncResult: Office.AsyncResult<Office.SelectedItemDetails[]>) => void

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro, , asyncResultque é um Office.AsyncResult objeto. As propriedades das mensagens selecionadas, como a ID do item e o assunto, são retornadas como uma matriz de objetos SelectedItemDetails na asyncResult.value propriedade. Os objetos na matriz seguem a ordem na qual as mensagens foram selecionadas.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.13 ]

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

Modo outlook aplicável: compor, ler

Importante: esse método só se aplica a mensagens.

getSelectedItemsAsync(callback)

Obtém mensagens selecionadas no momento nas quais um suplemento pode ativar e executar operações. Um suplemento pode ser ativado em no máximo 100 mensagens por vez. Para saber mais sobre várias opções de item, consulte Ativar seu suplemento do Outlook em várias mensagens.

getSelectedItemsAsync(callback: (asyncResult: Office.AsyncResult<SelectedItemDetails[]>) => void): void;

Parâmetros

callback

(asyncResult: Office.AsyncResult<Office.SelectedItemDetails[]>) => void

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro, , asyncResultque é um Office.AsyncResult objeto. As propriedades das mensagens selecionadas, como a ID do item e o assunto, são retornadas como uma matriz de objetos SelectedItemDetails na asyncResult.value propriedade. Os objetos na matriz seguem a ordem na qual as mensagens foram selecionadas.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.13 ]

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

Modo outlook aplicável: compor, ler

Importante: esse método só se aplica a mensagens.

Exemplos

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

// Retrieves the selected messages' properties and logs them to the console.
Office.context.mailbox.getSelectedItemsAsync((asyncResult) => {
  if (asyncResult.status === Office.AsyncResultStatus.Failed) {
    console.log(asyncResult.error.message);
    return;
  }

  asyncResult.value.forEach((message) => {
    console.log(`Item ID: ${message.itemId}`);
    console.log(`Subject: ${message.subject}`);
    console.log(`Item type: ${message.itemType}`);
    console.log(`Item mode: ${message.itemMode}`);
  });
});

getUserIdentityTokenAsync(callback, userContext)

Obtém um símbolo que identifica o usuário e o suplemento do Office.

O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade.

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

Parâmetros

callback

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

Quando o método é concluído, a função passada no parâmetro de retorno de chamada é chamada com um único parâmetro do tipo Office.AsyncResult. O token é retornado como uma cadeia de caracteres na asyncResult.value propriedade. Se ocorreu um erro, as propriedadesasyncResult.error e asyncResult.diagnostics podem fornecer informações adicionais.

userContext

any

Opcional. Quaisquer dados de estado que são passados ao método assíncrono.

Retornos

void

Comentários

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

Modo outlook aplicável: compor ou ler

Importante:

  • Em outubro de 2024, a identidade do usuário herdado e os tokens de retorno de chamada do Exchange serão desativados por padrão para todos os locatários Exchange Online. Isso faz parte da Iniciativa De Futuro Seguro da Microsoft, que fornece às organizações as ferramentas necessárias para responder ao cenário atual de ameaças. Os tokens de identidade do usuário do Exchange ainda funcionarão para o Exchange local. A autenticação de aplicativo aninhada é a abordagem recomendada para tokens daqui para frente. Para obter mais informações, confira nossa página de perguntasfrequentes e postagem no blog.

  • O getUserIdentityTokenAsync método retorna um token que você pode usar para identificar e autenticar o suplemento e o usuário com um sistema externo.

Erros:

  • HTTPRequestFailure: a solicitação falhou. Examine o objeto de diagnóstico para o código de erro HTTP.

  • InternalServerError: o servidor exchange retornou um erro. Para saber mais, confira o objeto de diagnóstico.

  • NetworkError: o usuário não está mais conectado à rede. Verifique sua conexão de rede e tente novamente.

Exemplos

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/user-identity-token.yaml

Office.context.mailbox.getUserIdentityTokenAsync(function (result) {
    if (result.status !== Office.AsyncResultStatus.Succeeded) {
        console.error(`Token retrieval failed with message: ${result.error.message}`);
    } else {
        console.log(result.value);
    }
});

makeEwsRequestAsync(data, callback, userContext)

Faz uma solicitação assíncrona para um serviço EWS (Exchange Web Services) no servidor exchange que hospeda a caixa de correio do usuário.

O método makeEwsRequestAsync envia uma solicitação do EWS em nome do suplemento ao Exchange.

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

Parâmetros

data

any

A solicitação do EWS.

callback

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

Quando o método é concluído, a função passada no callback parâmetro é chamada com um único parâmetro, , asyncResultque é um Office.AsyncResult objeto. A resposta XML da solicitação EWS é fornecida como uma cadeia de caracteres na asyncResult.value propriedade. Em Outlook na Web, no Windows (começando na versão 2303 (Build 16225.10000)) e no Mac (começando na versão 16.73 (23042601)), se a resposta exceder 5 MB de tamanho, uma mensagem de erro será retornada na asyncResult.error propriedade. Em versões anteriores do cliente da área de trabalho do Outlook, uma mensagem de erro será retornada se a resposta exceder 1 MB de tamanho.

userContext

any

Opcional. Quaisquer dados de estado que são passados ao método assíncrono.

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.1 ]

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

Modo outlook aplicável: compor ou ler

Importante:

  • Em outubro de 2024, a identidade do usuário herdado e os tokens de retorno de chamada do Exchange serão desativados por padrão para todos os locatários Exchange Online. Isso faz parte da Iniciativa De Futuro Seguro da Microsoft, que fornece às organizações as ferramentas necessárias para responder ao cenário atual de ameaças. Os tokens de identidade do usuário do Exchange ainda funcionarão para o Exchange local. A autenticação de aplicativo aninhada é a abordagem recomendada para tokens daqui para frente. Para obter mais informações, confira nossa página de perguntasfrequentes e postagem no blog.

  • Para habilitar o makeEwsRequestAsync método para fazer solicitações EWS, o administrador do servidor deve definir OAuthAuthentication no diretório EWS do Servidor de Acesso ao true Cliente .

  • Seu suplemento deve ter a permissão de caixa de correio de leitura/gravação para usar o makeEwsRequestAsync método. Para obter informações sobre como usar a permissão de caixa de correio de leitura/gravação e as operações EWS que você pode chamar com o makeEwsRequestAsync método, consulte Especificar permissões para acesso de suplemento de email à caixa de correio do usuário.

  • Se o suplemento precisar acessar Itens Associados à Pasta ou sua solicitação XML deverá especificar codificação UTF-8 (\<?xml version="1.0" encoding="utf-8"?\>), ele deve usar APIs do Microsoft Graph ou REST para acessar a caixa de correio do usuário.

  • Esse método não tem suporte no Outlook no Android ou no iOS. Para obter mais informações sobre APIs com suporte no Outlook mobile, consulte APIs JavaScript do Outlook com suporte no Outlook em dispositivos móveis.

  • Esse método não tem suporte quando o suplemento é carregado em uma caixa de correio do Gmail.

  • Ao usar o makeEwsRequestAsync método em suplementos executados em versões do Outlook anteriores à versão 15.0.4535.1004, você deve definir o valor de codificação como ISO-8859-1 (<?xml version="1.0" encoding="iso-8859-1"?>). Para determinar a versão de um cliente do Outlook, use a mailbox.diagnostics.hostVersion propriedade. Você não precisa definir o valor de codificação quando o suplemento estiver em execução no Outlook na Web. Para determinar o cliente do Outlook no qual seu suplemento está em execução, use a mailbox.diagnostics.hostName propriedade.

Exemplos

function getSubjectRequest(id) {
    // Return a GetItem operation request for the subject of the specified item.
    const request =
        '<?xml version="1.0" encoding="utf-8"?>' +
        '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' +
        '               xmlns:xsd="http://www.w3.org/2001/XMLSchema"' +
        '               xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' +
        '               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
        '  <soap:Header>' +
        '    <RequestServerVersion Version="Exchange2016" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' +
        '  </soap:Header>' +
        '  <soap:Body>' +
        '    <GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">' +
        '      <ItemShape>' +
        '        <t:BaseShape>IdOnly</t:BaseShape>' +
        '        <t:AdditionalProperties>' +
        '            <t:FieldURI FieldURI="item:Subject"/>' +
        '        </t:AdditionalProperties>' +
        '      </ItemShape>' +
        '      <ItemIds><t:ItemId Id="' + id + '"/></ItemIds>' +
        '    </GetItem>' +
        '  </soap:Body>' +
        '</soap:Envelope>';

    return request;
}

function sendRequest() {
    // Create a local variable that contains the mailbox.
    Office.context.mailbox.makeEwsRequestAsync(
        getSubjectRequest(mailbox.item.itemId), callback);
}

function callback(asyncResult)  {
    const result = asyncResult.value;
    const context = asyncResult.asyncContext;

    // Process the returned response here.
}
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/outlook/85-tokens-and-service-calls/get-icaluid-as-attendee.yaml

const ewsId = Office.context.mailbox.item.itemId;
const request = `<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Header><t:RequestServerVersion Version="Exchange2013" /></soap:Header>
      <soap:Body>
        <m:GetItem>
          <m:ItemShape>
            <t:BaseShape>AllProperties</t:BaseShape>
          </m:ItemShape >
          <m:ItemIds>
            <t:ItemId Id="${ewsId}" />
          </m:ItemIds>
        </m:GetItem>
      </soap:Body>
    </soap:Envelope>`;

Office.context.mailbox.makeEwsRequestAsync(request, (result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error(result.error.message);
    return;
  }

  console.log(getUID(result.value));
});

...

const request = '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
    '  <soap:Header><t:RequestServerVersion Version="Exchange2010" /></soap:Header>'+
    '  <soap:Body>'+
    '    <m:CreateItem MessageDisposition="SendAndSaveCopy">'+
    '      <m:SavedItemFolderId><t:DistinguishedFolderId Id="sentitems" /></m:SavedItemFolderId>'+
    '      <m:Items>'+
    '        <t:Message>'+
    '          <t:Subject>Hello, Outlook!</t:Subject>'+
    '          <t:Body BodyType="HTML">This message was sent from a ScriptLab code sample, used from ' + Office.context.mailbox.diagnostics.hostName + ', version ' + Office.context.mailbox.diagnostics.hostVersion + '!</t:Body>'+
    '          <t:ToRecipients>'+
    '            <t:Mailbox><t:EmailAddress>' + Office.context.mailbox.userProfile.emailAddress + '</t:EmailAddress></t:Mailbox>'+
    '          </t:ToRecipients>'+
    '        </t:Message>'+
    '      </m:Items>'+
    '    </m:CreateItem>'+
    '  </soap:Body>'+
    '</soap:Envelope>';

Office.context.mailbox.makeEwsRequestAsync(request, function (result) {
    console.log(result);
});

removeHandlerAsync(eventType, options, callback)

Remove um manipulador de eventos para um tipo de evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

removeHandlerAsync(eventType: Office.EventType | string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

eventType

Office.EventType | string

O evento que deve revogar o manipulador.

options
Office.AsyncContextOptions

Fornece uma opção para preservar dados de contexto de qualquer tipo, inalterados, para uso em um retorno de chamada.

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler

removeHandlerAsync(eventType, callback)

Remove um manipulador de eventos para um tipo de evento com suporte. Observação: os eventos só estão disponíveis com a implementação do painel de tarefas.

Para eventos com suporte, consulte a seção Eventos do modelo de objeto da caixa de correio.

removeHandlerAsync(eventType: Office.EventType | string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;

Parâmetros

eventType

Office.EventType | string

O evento que deve revogar o manipulador.

callback

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

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

Retornos

void

Comentários

[ Conjunto de API: Caixa de correio 1.5 ]

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

Modo outlook aplicável: compor ou ler