Озадачен процессом доступа к API календаря Outlook в ASP.NET Webforms - PullRequest
0 голосов
/ 03 декабря 2018

Итак, я изучал программное создание событий календаря для календаря Outlook.

Я посмотрел документацию здесь и здесь .

Существуют ли какие-либо пошаговые инструкции в отношении веб-форм asp.net для отображения на страницах .ASPX или в примерах кода, предназначенного для этого домена.

Я пытался следовать этому примеру при добавлении встречи в календарь, но яполучить сообщение об ошибке «HttpApplicationState не содержит определения для« CreateItem », и нет доступного метода расширения« CreateItem », принимающего первый аргумент типа« HttpApplicationState »(вы пропустили директиву using или ссылку на сборку?)

private void AddAppointment()
{
    try
    {
        Outlook.AppointmentItem newAppointment = (Outlook.AppointmentItem)
        Application.CreateItem(Outlook.OlItemType.olAppointmentItem);
        newAppointment.Start = DateTime.Now.AddHours(2);
        newAppointment.End = DateTime.Now.AddHours(3);
        newAppointment.Location = "ConferenceRoom #2345";
        newAppointment.Body = "We will discuss progress on the group project.";
        newAppointment.AllDayEvent = false;
        newAppointment.Subject = "Group Project";
        newAppointment.Recipients.Add("Roger Harui");
        Outlook.Recipients sentTo = newAppointment.Recipients;
        Outlook.Recipient sentInvite = null;
        sentInvite = sentTo.Add("Holly Holt");
        sentInvite.Type = (int)Outlook.OlMeetingRecipientType.olRequired;
        sentInvite = sentTo.Add("David Junca ");
        sentInvite.Type = (int)Outlook.OlMeetingRecipientType.olOptional;
        sentTo.ResolveAll();
        newAppointment.Save();
        newAppointment.Display(true);
    }
    catch (Exception ex)
    {
        Console.WriteLine("The following error occurred: " + ex.Message);
    }
}

Это мое использование:

using System;
using Outlook = Microsoft.Office.Interop.Outlook;

Я только что пришел к этому совершенно неправильно?

РЕДАКТИРОВАТЬ # 1: Я хочу интегрировать календарь Outlook в веб-сайт, чтобычто пользователи могут добавить встречу в свой календарь Outlook.Я ищу краткую документацию для достижения этого в C # на сайте веб-форм ASP.NET, и большая часть документации предназначена для Microsoft.Office.Interop, которая, кажется, не работает для меня локально.

1 Ответ

0 голосов
/ 03 декабря 2018

Код, который вы показываете в своем примере, выполняется на сервере.Обычно Outlook не установлен на сервере, поэтому вы получаете сообщение об ошибке.Кроме того, пользовательский контекст на сервере часто является учетной записью службы, а не пользователем, инициировавшим запрос.Обычно для создания элементов календаря используются разные подходы.

Простой способ дать пользователям вашего сайта возможность добавить встречу в свой календарь (независимо от используемой ими программы) - это загрузить iCalendar -файл (ICS) с вашего сайта, нажав на ссылку на вашем сайте.Этот файл открывается на клиенте, и пользователи могут сохранить встречу в приложении календаря, которое они используют.Существуют различные пакеты nuget , которые поддерживают создание файлов.

Вы также можете добавить специальную функцию «Добавить в календарь Outlook» на свой сайт, если это внутреннее приложение для компании.так что вы знаете некоторые подробности об инфраструктуре.Например, если компания использует Office 365, вы можете использовать Microsoft Graph для создания элемента календаря.

Если компания использует сервер Exchange, вы также можете использовать Веб-службы Exchange (EWS) для доступа к серверу обмена и создания встречи без использования Outlook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...