Lägg till eller ta bort kontakter från Microsoft Exchange Server i Java

Microsoft Exchange Server är en e-post- och kalenderserver som tillhandahåller olika samarbetstjänster som e-post, kalendrar, kontakthantering, etc. I ett av mina inlägg har jag visat dig hur du kommer åt och läser e-postmeddelanden från Microsoft Exchange Server programmatiskt i Java. Däremot behöver vi ofta kontaktlistan som vi har på MS Exchange Server. Så i den här artikeln kommer du att lära dig hur du lägger till, tar bort eller uppdaterar kontakter på Microsoft Exchange Server i Java.

Java API för att komma åt kontakter på MS Exchange Server

Aspose.Email for Java är ett populärt API för att implementera e-postklientapplikationer i Java. Dessutom låter det dig arbeta med MS Exchange Server och manipulera kontakter, e-postmeddelanden och konversationsobjekt. Vi kommer att använda detta API för att lägga till, uppdatera och ta bort kontakter på Exchange Server. Du kan antingen ladda ner API:s JAR eller installera den med hjälp av följande Maven-konfigurationer.

Förvar:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Beroende:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Lägg till kontakter till MS Exchange Server i Java

Följande är stegen för att lägga till kontakter till Microsoft Exchange Server i Java.

  • Skapa och initiera först NetworkCredential-objekt med användarnamn, lösenord och domän.
  • Initiera sedan IEWSClient med postlåde-URI och NetworkCredential-objekt.
  • Skapa ett objekt av klassen Kontakt och ställ in dess egenskaper som namn, jobb, kön, telefon, associerade personer, etc.
  • Till sist, ring metoden EWSClient.createContact(Contact) för att lägga till kontakt.

Följande kodexempel visar hur man lägger till en kontakt till Microsoft Exchange Server i Java.

// Ställ in postlådans URI, användarnamn, lösenord, domäninformation
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);

// Skapa ny kontakt
Contact contact = new Contact();

// Ställ in allmän information
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());

// Lägg till telefonnummer
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Kontaktens associerade personer
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());

// webbadresser
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());

// Ställ in kontaktens e-postadress
contact.getEmailAddresses().add(tmp6);

try {
	// Skapa kontakt
	client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Ta bort kontakter från MS Exchange Server i Java

Du kan också ta bort en kontakt från MS Exchange Server. För att filtrera kontakterna kan du använda namnet, e-postadressen eller någon annan lämplig egenskap. Följande är stegen för att ta bort en kontakt från Microsoft Exchange Server i Java.

Följande kodexempel visar hur man tar bort kontakter från Microsoft Exchange Server i Java.

// Initiera EWS-klienten
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Kontaktnamn
String strContactToDelete = "John Teddy";

// Skaffa kontakter
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Gå igenom kontakter
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Ta bort kontakt
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Uppdatera en kontakt på Exchange Server i Java

Aspose.Email för Java låter dig också uppdatera en kontakt på MS Exchange Server. Följande är stegen för att utföra denna operation.

Följande kodexempel visar hur man uppdaterar en kontakt på MS Exchange Server i Java.

// Ställ in postlådans URI, användarnamn, lösenord, domäninformation
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);

// Initiera EWS-klienten
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Lista alla kontakter och gå igenom alla kontakter
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Uppdatera kontaktuppgifter
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Skaffa en gratis API-licens

Du kan få en gratis temporär licens för att använda Aspose.Email för Java utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du arbetar med kontakter på Microsoft Exchange Server i Java. Vi har visat hur man lägger till, tar bort och uppdaterar kontakter från MS Exchange Server i Java. Dessutom kan du utforska dokumentationen för att läsa mer om Aspose.Email för Java. Du kan också lägga upp dina frågor på vårt forum.

Se även