タイトルを設定する方法を見つけました ( EWS Java API (Exchange Web サービス) を使用して連絡先のタイトルを設定する方法を参照してください)。今、メール 1 の表示名を設定しようとしています。
公開された API Contact.getEmailAddresses().setEmailAddress() を使用すると、表示名は電子メール アドレスと同じになるように自動的に設定されます (拡張プロパティが上書きされます)。
そのため、拡張プロパティを介して完全な電子メール情報を設定しようとしています。アドレス帳を見ると、名前と表示名が空であることを除いて、ほとんど機能します。
これは、正しく設定する方法がわからない Email1OriginalEntryId プロパティに関連しているように感じます。
何か案は?
私の現在の試みは次のようになります。
ExtendedPropertyDefinition propDef_PidLidEmail1DisplayName = new ExtendedPropertyDefinition(//
UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8080, MapiPropertyType.String);
ExtendedPropertyDefinition propDef_PidLidEmail1AddressType = new ExtendedPropertyDefinition(//
UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8082, MapiPropertyType.String);
ExtendedPropertyDefinition propDef_PidLidEmail1EmailAddress = new ExtendedPropertyDefinition(//
UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8083, MapiPropertyType.String);
ExtendedPropertyDefinition propDef_PidLidEmail1OriginalDisplayName = new ExtendedPropertyDefinition(//
UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8084, MapiPropertyType.String);
ExtendedPropertyDefinition propDef_PidLidEmail1OriginalEntryId = new ExtendedPropertyDefinition(//
UUID.fromString("00062004-0000-0000-C000-000000000046"), 0x8085, MapiPropertyType.Binary);
ExchangeService mailbox = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
mailbox.setUrl(new URL("https://remote.domain.com/EWS/exchange.asmx").toURI());
ExchangeCredentials credentials = new WebCredentials("user.name", "pw", "domain");
mailbox.setCredentials(credentials);
Contact c = new Contact(mailbox);
c.setGivenName("GivenName");
c.setSurname("Surname");
// c.getEmailAddresses().setEmailAddress(EmailAddressKey.EmailAddress1, new EmailAddress("AB12@B12.com"));
c.setExtendedProperty(propDef_PidLidEmail1AddressType, "SMTP");
c.setExtendedProperty(propDef_PidLidEmail1EmailAddress, "A12@B12.com");
c.setExtendedProperty(propDef_PidLidEmail1OriginalDisplayName, "A12@B12.com");
c.setExtendedProperty(propDef_PidLidEmail1DisplayName, "A12 B12 (A12@B12.com)");
// c.setExtendedProperty(propDef_PidLidEmail1OriginalEntryId, ???);
c.save(WellKnownFolderName.Contacts);