小编Qui*_*nry的帖子

使用C#在其他人的Outlook日历中创建约会

我想创建一个程序,以便可以在其他人的Outlook日历中创建约会。例如:如果某人要求他的老板免费使用五天,则他们的老板需要能够批准它,并立即使其在该人的外表日历中可见。我已经编写了一些代码,可以在其中设置您自己的约会。这是我的代码:

    public Form1()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        AddAppointment("ConferenceRoom #2345", "We will discuss progression the group project.", "Group Project", new DateTime(2016, 02, 23, 15, 30, 52), new DateTime(2016, 02, 23, 20, 30, 52));
    }
    private void AddAppointment(string location, string body, string subject, DateTime startdatum, DateTime einddatum)
    {
        try
        {
            var AppOutlook = new Outlook.Application();

            Outlook.AppointmentItem newAppointment =
            (Outlook.AppointmentItem)
            AppOutlook.CreateItem(Outlook.OlItemType.olAppointmentItem);
            newAppointment.Start = startdatum;
            newAppointment.End = einddatum;
            newAppointment.Location = location;
            newAppointment.Body = body;
            newAppointment.BusyStatus=Outlook.OlBusyStatus.olTentative;
            newAppointment.AllDayEvent = true; …
Run Code Online (Sandbox Code Playgroud)

c# outlook calendar

5
推荐指数
1
解决办法
5916
查看次数

允许使用 ews 进行模拟

我正在尝试用 C# 创建一个程序,该程序应该能够在其他人的 Outlook 日历中创建约会。我有代码可以在我自己的日历中创建约会。我在谷歌上搜索,我发现我应该使用模拟。所以我添加了这一行:

service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, emailAddress);
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

private void button2_Click(object sender, EventArgs e) {
try{
    ExchangeService service = new ExchangeService();
    service.UseDefaultCredentials = true;   
    service.Credentials = new WebCredentials("Test@domain.com", "password");
    service.AutodiscoverUrl("Test@domain.com", adAutoDiscoCallBack);
    service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "Test2@domain.com");

    Appointment appointment = new Appointment(service);
    // Set the properties on the appointment object to create the appointment.
    appointment.Subject = "Tennis lesson";
    appointment.Body = "Focus on backhand this week.";
    appointment.Start = DateTime.Now.AddDays(2);
    appointment.End = appointment.Start.AddHours(1);
    appointment.Location = "Tennis club";
    appointment.ReminderDueBy = DateTime.Now; …
Run Code Online (Sandbox Code Playgroud)

c# impersonation calendar exchangewebservices

1
推荐指数
1
解决办法
8084
查看次数