如何使用 C# 以编程方式将 ID 附加到交换约会参加者?

How does one attach an ID to an exchange appointment attendee programatically with C#?

我正在尝试将与会者添加到交换约会中,但我遇到了困难。我需要与会者有一个 ID,因为一些与会者没有唯一的电子邮件地址,所以我正在做他以下:

        foreach (Student student in Students)
        {

            if (student.hasEmail)
            {
                Attendee attendee = new Attendee(student.Email);
                attendee.Id = new ItemId(student.Id);
                addRequiredAttendee(attendee);
            }
            else
            {
                String name = student.LastName + ", " + student.FirstName;
                Attendee attendee = new Attendee(name);
                attendee.Id = new ItemId(student.Id);
                addRequiredAttendee(attendee);
            }

        }

然而,当我运行:

appointment.Save(calendar.Id, SendInvitationsMode.SendToNone);

我收到一个错误并且没有发送。我不明白问题出在哪里。当我在不添加 ID 的情况下发送时,它工作正常。有没有人遇到过这样的问题?设置ID的规范是什么?我找不到任何关于它的文件。谢谢

你需要有一个有效的电子邮件地址格式才能工作(例如你得到的错误应该表明)在你的情况下你应该能够伪造地址例如

字符串名称=student.LastName+","+student.FirstName; 字符串 Email = 姓名 + "@fakeDomain.com";

干杯 格伦

documentation of Attendee 我们看到 Attendee 继承自 EmailAddress。需要电子邮件地址,因为约会邀请需要发送到某个地方。设置 Id 没有帮助。

根据您的要求,您或许可以创建一个虚假的电子邮件地址?

很遗憾,我发现您无法将 ID 附加到具有电子邮件地址的与会者。 EmailAddress.Id 文档页面上是这样说的:

The Address property should be set to a null reference (Nothing in Visual Basic) when the Id property is used.

我现在所做的只是为没有电子邮件的学生创建一个假电子邮件,并使用该假电子邮件作为其标识符。