2016-10-13 5 views
0

特定の部屋の予定のためにExchangeサーバーからメール本文を取得しようとしましたが、成功しませんでした。インターネット上ですべてのブログを確認しましたが、何の助けもありませんでした。Outlookの交換サーバー(EWS)から予定の予定の本文を取得する方法、C#

アプローチ

service.GetUserAvailability 
(
    attendees, 
    new TimeWindow(twStart, twEnd), 
    AvailabilityData.FreeBusy 
).AttendeesAvailability[0].CalendarEvents; 

アプローチB

public class MailItem 
{ 
    public string From; 
    public string[] Recipients; 
    public string Subject; 
    public string Body; 
} 

public static MailItem[] GetUnreadMailFromInbox(ExchangeService service, string address) 
{ 
    // Address is the email address for an meeting room 
    try 
    { 
     service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, address); 
     FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(128)); 
     ServiceResponseCollection<GetItemResponse> items = 
     service.BindToItems(findResults.Select(item => item.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.ToRecipients)); 

     FindItemsResults<Item> findResults2 = service.FindItems(WellKnownFolderName.Calendar, new ItemView(128)); 
     ServiceResponseCollection<GetItemResponse> items2 = 
     service.BindToItems(findResults2.Select(item2 => item2.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.ToRecipients)); 

     return items.Select(item => 
     { 
      return new MailItem() 
      { 
       From = address, 
       Recipients = ((Microsoft.Exchange.WebServices.Data.EmailAddressCollection)item.Item[EmailMessageSchema.ToRecipients]).Select(recipient => recipient.Address).ToArray(), 
       Subject = item.Item.Subject, 
       Body = item.Item.Body.ToString(), 
      }; 
     }).ToArray(); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    } 
} 

私は予定の本文の内容を取得するためのソリューションを必要とする:ここで私は詳細を取得するために、Exchangeサーバーに連絡しようとしているコードがあります交換サーバーから。

答えて

0

既にExchangeサービスに正常に接続していて、予定の本体部分を取得しようとしていると仮定してください。

あなたのプロパティセットにEmailMessageSchema.Bodyを追加してみてください。

service.BindToItems(findResults2.Select(item2 => item2.Id), new PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.From, EmailMessageSchema.Body, EmailMessageSchema.ToRecipients)); 
関連する問題