对在 ASP.NET Webforms 中访问 Outlook 日历 API 的过程感到困惑

Baffled as to the process to access the Outlook Calendar API in ASP.NET Webforms

所以我一直在研究以编程方式为 Outlook 日历创建日历事件。

我查看了文档 here and here

是否有关于 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 日历中。我正在 ASP.NET webforms 站点上寻找简明的文档以在 C# 中实现此目的,并且大多数文档都是针对 Microsoft.Office.Interop 的,这对我来说似乎在本地不起作用。

您在示例中显示的代码是在服务器上执行的。通常,服务器上未安装 Outlook,因此您会收到错误消息。此外,服务器上的用户上下文通常是服务帐户之一,而不是发起请求的用户。通常,有不同的方法用于创建日历项。

使您网站的用户能够将约会添加到他们的日历(独立于他们使用的程序)的一种简单方法是下载支持您创建文件的iCalendar-file (ICS) from your website by clicking a link on your site. This file is opened on the client and the users can save the appointment in the calendar application they use. There are various nuget packages

如果您的网站是公司的内部应用程序,您还可以向其添加特定的 "Add to Outlook calendar" 功能,以便您了解有关基础架构的一些详细信息。例如,如果公司使用 Office 365,您可以使用 Microsoft Graph 创建日历项。

如果公司使用 Exchange 服务器,您还可以使用 Exchange Web Services (EWS) 访问 Exchange 服务器并在不使用 Outlook 的情况下创建约会。