我必须与Microsoft Exchange Webservice建立连接,并且我已经获得了以下详细信息 -
共享邮箱地址是 -
“students@student.edu”
服务帐户是 -
“学生SA”
服务帐户的密码是 -
中提供的代码示例进行操作“Pass1234”
以下是使用上述详细信息的代码示例 -
static void Main(string[] args)
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
service.Credentials = new WebCredentials("Student SA", "Pass1234");
service.TraceEnabled = true;
service.TraceFlags = TraceFlags.All;
service.AutodiscoverUrl("students@student.edu", RedirectionUrlValidationCallback);
// service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, "myADAccount");
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
// The default for the validation callback is to reject the URL.
bool result = false;
Uri redirectionUri = new Uri(redirectionUrl);
// Validate the contents of the redirection URL. In this simple validation
// callback, the redirection URL is considered valid if it is using HTTPS
// to encrypt the authentication credentials.
if (redirectionUri.Scheme == "https")
{
result = true;
}
return result;
}
当我在本地运行时,我收到以下错误消息
<Trace Tag="AutodiscoverConfiguration" Tid="9" Time="2018-06-04 15:10:07Z">
Request error: The remote server returned an error: (401) Unauthorized.
</Trace>
我在其他帖子How to connect to Exchange?
中寻找相同的内容以及Code项目,但它们都以相同的方式告诉如何连接到交换webservice。
我不确定为什么我在AutodiscoverConfiguration中获取未经授权的访问权限,以及我是否使用正确的代码使用已提供的服务帐户信息连接到Exchange服务器。
帮助将不胜感激!
TIA
答案 0 :(得分:0)
您的凭据格式看起来不正确您应该使用下层格式,即domain \ username或UPN请参阅https://msdn.microsoft.com/en-us/library/windows/desktop/aa380525(v=vs.85).aspx。我建议你使用UPN,因为它应该始终有效。