exhnage Web サービスでデリゲートを使用したことのある人はいますか? Exchange で 1 人のユーザーが他のユーザーの予定表を制御できるようにしたいと考えています。この問題は少し難しいと思います。他の人がどのように適切に機能させることができたのか見てみたいと思います。
4591 次
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");
(テスト用に Microsoft が用意した仮想サーバー イメージを使用しています)
次に、メールボックスにアクセスするときに、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);
要するに:
- Exchange サーバーで代理アクセスを使用してアカウントをセットアップします。これは、owa または Exchange シェル スクリプトを使用して実行できます。
- ExchangeServiceBinding オブジェクトに対する代理人アクセスを持つアカウントを使用する
- ターゲット アカウントの smtp-address を EmailAddressType として FindItemType を使用して、ターゲット アカウントにアクセスします。
よろしくジェスパー・ハウジ
于 2008-11-06T09:45:31.147 に答える