Arbeta med kontakter på Exchange‑servern
Hämta kontakter med EWS
Aspose.Email tillhandahåller EWSClient klass för att ansluta till Microsoft Exchange Server med Exchange Web Services. Kodsnuttarna nedan använder Exchange Web Services för att läsa alla kontakter. Följande kodsnutt visar hur du hämtar kontakter med 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());
}
Lösa upp kontakter med kontaktnamn
Följande kodsnutt visar hur du använder get contacts med 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());
}
Fastställa kontaktens noteringsformat
NotesFormat specificerar kontaktens noteringars textformattyp som definieras av TextFormat‑enum.
Hämta kontakt med ID
En specifik kontakt kan hämtas från servern med dess kontakt‑ID som visas i följande kodexempel.
Contact fetchedContact = client.getContact(id);
Lägga till kontakter
Den EWSClient klass createContact() metod kan användas för att lägga till kontaktinformation på en Exchange‑server. createContact() metod tar en Contact objekt som inparameter.
För att lägga till kontakter på en Exchange‑server:
- Initiera EWSClient med adress och autentiseringsuppgifter.
- Initiera Contact‑objektet med önskade egenskaper.
- Anropa CreateContact‑metoden för att lägga till kontakten på Exchange‑servern.
Aspose.Email tillhandahåller EWSClient klass för att ansluta till Microsoft Exchange Server med Exchange Web Services. Kodsnuttarna visar hur du använder Exchange Web Services för att lägga till kontakter på en 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());
}
Uppdatera kontakter
Kontaktinformation kan uppdateras med Microsoft Outlook. Aspose.Email kan också uppdatera kontaktinformation på Exchange‑server med Exchange Web Service (EWS). IEWSClients updateContact() metod kan uppdatera kontaktinformation på 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);
Ta bort kontakter
Den EWSClient klass tillhandahåller deleteItem för att nå och ta bort kontakter från en Exchange‑servers kontaktmapp. Denna metod tar kontakt‑ID som inparametrar.
För att ta bort kontakter från en Exchange‑server:
- Initiera ExchangeWebServiceClient med adress och autentiseringsuppgifter.
- Ta bort en kontakt med dess ID.
Följande kodsnuttar visar hur du tar bort kontakter från en Exchange‑server med hjälp av 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();