C# 从手机设置Outlook离开办公室
我的任务是编写一个移动应用程序(使用xamarin),允许您在办公室外设置Outlook。我发现的许多示例都使用interop,它不会在移动应用程序中构建。有人能推荐一种替代方法吗?您可以使用Exchange Web服务来实现这一点 发件人::C# 从手机设置Outlook离开办公室,c#,android,ios,outlook,C#,Android,Ios,Outlook,我的任务是编写一个移动应用程序(使用xamarin),允许您在办公室外设置Outlook。我发现的许多示例都使用interop,它不会在移动应用程序中构建。有人能推荐一种替代方法吗?您可以使用Exchange Web服务来实现这一点 发件人:: 艾伦-谢谢你的回复。我终于让它工作了,但库似乎已被修改,因此,如果其他人需要它,以下是我的代码: ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
艾伦-谢谢你的回复。我终于让它工作了,但库似乎已被修改,因此,如果其他人需要它,以下是我的代码:
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Url = new Uri("https://<server>/EWS/Exchange.asmx");
EmailAddress emailAddress = new EmailAddress();
emailAddress.Address = "nick.wright@<domain>";
emailAddress.Name = String.Empty;
OofSettings OOFSettings = new OofSettings();
OOFSettings.Duration = new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1));
OOFSettings.ExternalAudience = OofExternalAudience.All;
OofReply internalReply = new OofReply();
OofReply externalReply = new OofReply();
externalReply.Message = "This is my external OOF reply";
internalReply.Message = "This is my internal OOF reply";
OOFSettings.ExternalReply = externalReply;
OOFSettings.InternalReply = internalReply;
OOFSettings.State = OofState.Disabled;
try
{
service.SetUserOofSettings("nick.wright@<domain>", OOFSettings);
}
catch (Exception ex)
{
}
ExchangeService服务=新的ExchangeService(ExchangeVersion.Exchange2010);
service.Url=新的Uri(“https:///EWS/Exchange.asmx");
EmailAddress EmailAddress=新的EmailAddress();
emailAddress.Address=“nick.wright@”;
emailAddress.Name=String.Empty;
OofSettings OofSettings=新OofSettings();
OOFSettings.Duration=新的时间窗口(DateTime.Now,DateTime.Now.AddDays(1));
OOFSettings.externalviewer=oofexternallaudence.All;
OofReply internalReply=新的OofReply();
OofReply externalReply=新的OofReply();
Message=“这是我的外部OOF回复”;
internalReply.Message=“这是我的内部OOF回复”;
OOFSettings.ExternalReply=ExternalReply;
OOFSettings.InternalReply=InternalReply;
OOFSettings.State=OofState.Disabled;
尝试
{
service.SetUserOofSettings(“nick.wright@”,OOFSettings);
}
捕获(例外情况除外)
{
}
我遇到了几个错误。首先,文档中的URL不正确,因此这修复了它:
第二,Exchange版本需要显式设置(尽管设置后,我可以将其设置为任何版本,并且可以正常工作!)
我已经追根究底了。如果使用ExchangeWeb服务API,我发布的代码将有效,但Allan发布的代码在向Web服务添加Web引用时有效。从太多的来源阅读太多文档的案例!
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010);
service.Url = new Uri("https://<server>/EWS/Exchange.asmx");
EmailAddress emailAddress = new EmailAddress();
emailAddress.Address = "nick.wright@<domain>";
emailAddress.Name = String.Empty;
OofSettings OOFSettings = new OofSettings();
OOFSettings.Duration = new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1));
OOFSettings.ExternalAudience = OofExternalAudience.All;
OofReply internalReply = new OofReply();
OofReply externalReply = new OofReply();
externalReply.Message = "This is my external OOF reply";
internalReply.Message = "This is my internal OOF reply";
OOFSettings.ExternalReply = externalReply;
OOFSettings.InternalReply = internalReply;
OOFSettings.State = OofState.Disabled;
try
{
service.SetUserOofSettings("nick.wright@<domain>", OOFSettings);
}
catch (Exception ex)
{
}