0

Notes という Exchange グローバル アドレス リストの連絡先プロパティにプログラムでアクセスしようとしています(ここのように -> GAL Contact - Notes )。Visual Studio (C# プログラミング言語) アプリケーションで EWS マネージ API を使用しています。私のコードのロジックは問題ないと思います..おそらくnr.Contact.Notesそれを達成するための正しいオプションではありません. よろしくお願いします。事前にt​​hx!

これが私のコードです:

NameResolutionCollection nrCol = service.ResolveName("SMTP:", ResolveNameSearchLocation.DirectoryOnly, true);
            foreach (NameResolution nr in nrCol)
            {
                if (nr.Contact.Notes == "mail_user")
                {
                    Console.WriteLine("^^^^^^^DO SOMETHING^^^^^^^");
                } // end of if (nr.Contact.Notes == "mail_user")


            } // end of foreach
4

1 に答える 1

0

Exchange 2010 SP2 以降を使用している限り、Resolve 名で ContactDataShape オーバーロードを使用できます。

    PropertySet AllProps = new PropertySet(BasePropertySet.FirstClassProperties);
    NameResolutionCollection ncCol = service.ResolveName("User@domain.com", ResolveNameSearchLocation.DirectoryOnly, true, AllProps);
    foreach (NameResolution nr in ncCol)
    {
        Console.WriteLine(nr.Contact.Notes);
    }

のような XML を生成します。

  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
      <t:RequestServerVersion Version="Exchange2013_SP1" />
    </soap:Header>
    <soap:Body>
      <m:ResolveNames ReturnFullContactData="true" SearchScope="ContactsActiveDirectory" ContactDataShape="AllProperties">
        <m:UnresolvedEntry>user@domain.com</m:UnresolvedEntry>
      </m:ResolveNames>
    </soap:Body>
  </soap:Envelope>

于 2016-07-03T10:24:35.820 に答える