Trabalhando com Itens de Calendário no Exchange Server
Enviando Solicitações de Reunião
Este artigo mostra como enviar uma solicitação de reunião para vários destinatários usando Exchange Web Services e Aspose.Email.
- Crie uma solicitação de reunião usando a classe Appointment e defina a localização, horário e participantes.
- Crie uma instância da classe MailMessage e defina a nomeação usando o método MailMessage.AddAlternateView().
- Conecte-se ao Exchange Server e envie a solicitação de reunião usando o método Send(MailMessage).
A classe EWSClient pode ser usada para conectar-se a um Exchange Server com suporte a Exchange Web Services (EWS). Para que isso funcione, o servidor deve ser o Exchange Server 2007 ou posterior. O seguinte trecho de código mostra como usar EWS para enviar solicitações de reunião.
Trabalhando com Itens de Calendário usando EWS
Aspose.Email fornece a capacidade de adicionar, atualizar e cancelar compromissos usando o cliente Exchange Web Service (EWS). Os métodos IEWSClient CreateAppointment, UpdateAppointment e CancelAppointment permitem manipular itens de calendário usando EWS. Este artigo fornece um exemplo de código detalhado sobre como trabalhar com itens de calendário. O seguinte exemplo de código mostra como:
- Criar um compromisso.
- Atualizar um compromisso.
- Excluir/Cancelar um compromisso.
Listando Compromissos com Suporte a Paginação
O método ListAppointments exposto pela API IEWSClient recupera a lista completa de compromissos do servidor Exchange. Isso pode demorar se houver um grande número de compromissos no Exchange Server. A API fornece métodos sobrecarregados do método ListAppointments que dão suporte à paginação da operação. Isso pode ser usado em diferentes combinações com o recurso de consulta também. Os seguintes métodos sobrecarregados estão disponíveis para listar compromissos do Exchange Server com suporte a paginação.
AppointmentCollection IEWSClient.ListAppointments(int itemsPerPage)
.AppointmentCollection IEWSClient.ListAppointments(string folderUri, int itemsPerPage)
.AppointmentCollection IEWSClient.ListAppointments(MailQuery query, int itemsPerPage)
.AppointmentCollection IEWSClient.ListAppointments(string folderUri, MailQuery query, int itemsPerPage)
.AppointmentCollection IEWSClient.ListAppointments(int itemsPerPage, int itemOffset)
.AppointmentCollection IEWSClient.ListAppointments(string folderUri, int itemsPerPage, int itemOffset)
.AppointmentCollection IEWSClient.ListAppointments(MailQuery query, int itemsPerPage, int itemOffset)
.AppointmentCollection IEWSClient.ListAppointments(string folderUri, MailQuery query, int itemsPerPage, int itemOffset)
.
O seguinte trecho de código mostra como listar compromissos com suporte a paginação.
Adicionando Evento à Pasta de Calendário Secundária no Exchange Server
A API Aspose.Email permite criar uma pasta de Calendário secundária no Exchange Server usando o IEWSClient. Em seguida, os compromissos podem ser adicionados, atualizados ou cancelados a partir do calendário secundário usando os métodos CreateAppointment, UpdateAppointment e CancelAppointment. Os seguintes métodos e propriedades da API são usados nos exemplos de código abaixo para mostrar a funcionalidade desse recurso. Observe que esse recurso é suportado pelo Aspose.Email para .NET 6.5.0 ou posterior.
- Método
IEWSClient.CancelAppointment(Appointment, String)
. - Método
IEWSClient.CancelAppointment(String, String)
. - Método
IEWSClient.CreateAppointment(Appointment, String)
. - Método
IEWSClient.CreateFolder(String, String, ExchangeFolderPermissionCollection, String)
. - Método
IEWSClient.FetchAppointment(String, String)
. - Método
IEWSClient.UpdateAppointment(Appointment, String)
. - Propriedade
IEWSClient.CurrentCalendarFolderUri
.
O seguinte trecho de código mostra como adicionar um evento à pasta de calendário secundária no servidor Exchange.
Compartilhando Convite de Calendário
O servidor Microsoft Exchange fornece a capacidade de compartilhar calendários enviando convites de calendário para outros usuários, registrados no mesmo servidor Exchange. A API Aspose.Email fornece a mesma capacidade, permitindo compartilhar o calendário usando a API EWS.
Recuperando Informações de Atributos Estendidos de Itens de Calendário
Retornando os Itens de Calendário Recorrentes Dentro do Intervalo de Datas Especificado
O EWSClient suporta o retorno dos itens de calendário recorrentes dentro do intervalo especificado por StartDate e EndDate. O método AppointmentQueryBuilder.SetCalendarView é usado para definir um intervalo de datas específico e limitar o número de compromissos retornados para recuperar informações relevantes. Ao definir os seguintes parâmetros, você pode recuperar os compromissos correspondentes aos critérios especificados.
-
startDate: A data de início da visualização do calendário. Compromissos iniciando a partir desta data serão incluídos no resultado da consulta.
-
endDate: A data de término da visualização do calendário. Compromissos terminando antes ou nesta data serão incluídos no resultado da consulta.
-
maxEntriesReturned: O número máximo de compromissos a serem retornados no resultado da consulta. O valor de -1 indica que não há limite específico.
ExchangeQueryBuilder builder = new ExchangeQueryBuilder();
builder.Appointment.SetCalendarView(DateTime.Now, DateTime.Now.AddMonths(1), -1);
Appointment[] appointments = client.ListAppointments(builder.GetQuery());