Работа с контакти на Exchange Server
Получаване на контакти с EWS
Aspose.Email предоставя EWSClient клас за свързване към Microsoft Exchange Server чрез Exchange Web Services. Следващите кодови откъси използват Exchange Web Services за четене на всички контакти. Следният кодов откъс показва как да се получат контакти чрез EWS.
// Create instance of IEWSClient class by giving credentials
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// List all the contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
for (Contact contact : contacts) {
MapiContact mapiContact = Contact.to_MapiContact(contact);
// Display name and email address
System.out.println("Name: " + mapiContact.getNameInfo().getDisplayName() + "+ Email Address: " + mapiContact.getElectronicAddresses().getEmail1());
}
Намиране на контакти по име
Следният кодов откъс показва как да се използва получаване на контакти чрез EWS
// Create instance of IEWSClient class by giving credentials
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// List all the contacts
Contact[] contacts = client.resolveContacts("Changed Name", ExchangeListContactsOptions.FetchPhoto);
for (Contact c : contacts) {
MapiContact contact = Contact.to_MapiContact(c);
// Display name and email address
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "+ Email Address: " + contact.getElectronicAddresses().getEmail1());
}
Определяне на формата на бележките за контакт
NotesFormat указва типа формат на текста за бележки на контактите, определен от изброяването TextFormat.
Извличане на контакт по ID
Определен контакт може да бъде извлечен от сървъра, използвайки неговото ID, както е показано в следния примерен код.
Contact fetchedContact = client.getContact(id);
Добавяне на контакти
Този EWSClient клас createContact() метод може да се използва за добавяне на информация за контакт към Exchange Server. createContact() метод приема Contact обект като входен параметър.
За добавяне на контакти към Exchange Server:
- Инициализирайте EWSClient с адрес и идентификационни данни.
- Инициализирайте обекта Contact с желаните свойства.
- Извикайте метода CreateContact, за да добавите контакта към Exchange Server.
Aspose.Email предоставя EWSClient клас за свързване към Microsoft Exchange Server чрез Exchange Web Services. Кодовите откъси показват как да се използва Exchange Web Services за добавяне на контакти към Exchange Server.
// Set mailboxURI, Username, password, domain information
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// Create New Contact
Contact contact = new Contact();
// Set general info
contact.setGender(Gender.Male);
contact.setDisplayName("Frank Lin");
contact.setCompanyName("ABC Co.");
contact.setJobTitle("Executive Manager");
PhoneNumber tmp0 = new PhoneNumber();
tmp0.setNumber("123456789");
tmp0.setCategory(PhoneNumberCategory.getHome());
// Add Phone numbers
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());
// contact's associated persons
contact.getAssociatedPersons().add(tmp1);
AssociatedPerson tmp2 = new AssociatedPerson();
tmp2.setName("Bob");
tmp2.setCategory(AssociatedPersonCategory.getChild());
contact.getAssociatedPersons().add(tmp2);
AssociatedPerson tmp3 = new AssociatedPerson();
tmp3.setName("Merry");
tmp3.setCategory(AssociatedPersonCategory.getSister());
contact.getAssociatedPersons().add(tmp3);
Url tmp4 = new Url();
tmp4.setHref("www.blog.com");
tmp4.setCategory(UrlCategory.getBlog());
// URLs
contact.getUrls().add(tmp4);
Url tmp5 = new Url();
tmp5.setHref("www.homepage.com");
tmp5.setCategory(UrlCategory.getHomePage());
contact.getUrls().add(tmp5);
EmailAddress tmp6 = new EmailAddress();
tmp6.setAddress("Frank.Lin@Abc.com");
tmp6.setDisplayName("Frank Lin");
tmp6.setCategory(EmailAddressCategory.getEmail1());
// Set contact's Email address
contact.getEmailAddresses().add(tmp6);
try {
client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Актуализиране на контакти
Информация за контакт може да се актуализира чрез Microsoft Outlook. Aspose.Email също може да актуализира информация за контакт в Exchange Server, използвайки Exchange Web Service (EWS). IEWSClient’s updateContact() метод може да актуализира информация за контакт в Exchange Server.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// List all the contacts and Loop through all contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);
Изтриване на контакти
Този EWSClient клас предоставя deleteItem за достъп и изтриване на контакти от папката Contacts на Exchange Server. Този метод приема ID на контакта като входен параметър.
За изтриване на контакти от Exchange Server:
- Инициализирайте ExchangeWebServiceClient с адрес и идентификационни данни.
- Изтриване на контакт, използвайки неговото ID.
Следните кодови откъси показват как да изтривате контакти от Exchange сървър, използвайки Exchange Web Service.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
String strContactToDelete = "John Teddy";
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
for (Contact contact : contacts) {
if (contact.getDisplayName().equals(strContactToDelete))
client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();