1

EWS マネージ API を使用して招待付きの添付ファイルを送信する際に問題が発生しています。予定の出席者は、予定に追加された添付ファイルを受信しませんが、添付ファイルは予定を作成した人のカレンダーに表示されます。

ここに私のコードスニペットがあります:

try
{
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
    service.Credentials = new WebCredentials("calendar_user", "password1", "acme");
    service.Url = new Uri("https://acme.com/EWS/Exchange.asmx");

    Appointment appointment = new Appointment(service);
    service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "tin.tin@acme.com");

    String UID = "D09F3FF6-1461-414C-89E8-C05BC3B66A4A";
    appointment.ICalUid = UID;
    appointment.Subject = "Test Subject";
    appointment.Body = "Test Content.";
    appointment.Start = new DateTime(2012, 07, 11, 17, 00, 0);
    appointment.End = appointment.Start.AddMinutes(30);

    FileAttachment attachment = appointment.Attachments.AddFileAttachment(@"C:\Users\tintin\Documents\Test.xlsx");
    attachment.IsInline = false;

    appointment.RequiredAttendees.Add("tin.tin@acme.com");

    appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy);
}
catch (Exception ex)
{

}
4

4 に答える 4

2

EWS には、添付ファイルの処理に関する恐ろしい制限があるようです。予定オブジェクトを 2 回更新する必要があるこの問題を解決する回避策を見つけました。

appointment.ICalUid = UID;
appointment.Subject = "Test Subject";
appointment.Body = "Test Content.";
appointment.Start = new DateTime(2012, 07, 11, 17, 00, 0);
appointment.End = appointment.Start.AddMinutes(30);

FileAttachment attachment = appointment.Attachments.AddFileAttachment(@"C:\Users\tintin\Documents\Test.xlsx");
attachment.IsInline = false;

appointment.Save(folderCalendar, SendInvitationsMode.SendToNone);
appointment.RequiredAttendees.Add("tin.tin@acme.com");

appointment.Update(ConflictResolutionMode.AutoResolve, SendInvitationsOrCancellationsMode.SendToAllAndSaveCopy);
于 2012-07-13T19:00:36.940 に答える
0

2 回目の更新で問題は解決しましたが、一番下の会議がキャンセルされます。製品には使用できません。バージョンを SP2 に変更しても機能しません。

それでもより良い解決策を見つけてください。

于 2014-10-28T09:34:15.960 に答える
0

この問題は Exchange Server 2010 Service Pack 1 に固有のもののようです。同様の問題が発生し、バージョンを SP2 に変更すると問題が解決しました。以下のコードは問題を解決しました

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
于 2013-07-10T15:31:32.353 に答える