1

有没有人在 exchnage Web 服务中使用过代表?我希望一位用户能够控制其他用户在 Exchange 中的日历。我发现这个问题有点棘手,我想看看其他人是如何让它正常工作的。

4

1 回答 1

3

我刚刚开始,但我设法通过委托帐户访问资源日历。

我使用了这篇文章中关于委托帐户和资源帐户的建议。(资源帐户很棘手,因为它们在 AD 中被禁用,您必须使用委托帐户才能访问它们)

在服务器上设置委托帐户后,我使用委托帐户的凭据设置 ExchangeServerBinding:

ExchangeServiceBinding binding = new ExchangeServiceBinding();
binding.Url = @"https://dc1.litwareinc.com/ews/exchange.asmx";
// Setup binding with username and password of the delegate account
binding.Credentials = 
    new NetworkCredential(delegateuserName, delegatepassword, "litwareinc.com");

我正在使用微软准备的虚拟服务器映像进行测试

然后在访问邮箱时,我设置了一个 FindItemType 请求,并使用我要访问的账户的 smtp 地址:

// Prepare request
var findItemRequest = new FindItemType();
// Setup the mailbox using the smtp address of the account wanted
var mailbox = new EmailAddressType {EmailAddress = mailboxId};
findItemRequest.ParentFolderIds = 
    new[] {new DistinguishedFolderIdType {Mailbox = mailbox}};
((DistinguishedFolderIdType) findItemRequest.ParentFolderIds[0]).Id = 
    DistinguishedFolderIdNameType.calendar;
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;

// Add ItemResponseShapeType and Calendarview to request here ...

// The create a FindItemResponseType using the binding and the request
var response = binding.FindItem(findItemRequest);

简而言之:

  1. 在 Exchange 服务器上设置具有委托访问权限的帐户,这可以通过 owa 或 Exchange Shell 脚本完成
  2. 在 ExchangeServiceBinding 对象上使用具有委托访问权限的帐户
  3. 使用 FindItemType 访问目标帐户,目标帐户 smtp-addres 作为 EmailAddressType

问候杰斯珀豪格

于 2008-11-06T09:45:31.147 回答