עבודה עם אנשי קשר ב‑Exchange Server

קבלת אנשי קשר עם EWS

Aspose.Email מספקת את EWSClient מחלקה להתחברות ל‑Microsoft Exchange Server באמצעות Exchange Web Services. קטעי הקוד שמופיעים להלן משתמשים ב‑Exchange Web Services כדי לקרוא את כל אנשי הקשר. קטע הקוד הבא מראה כיצד לקבל Contacts עם 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());
}

פתירת אנשי קשר באמצעות שם איש הקשר

קוד דוגמה הבא מראה כיצד להשתמש ב‑get contacts עם 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.

אחזור איש קשר באמצעות מזהה

ניתן לאחזר איש קשר מסוים מהשרת באמצעות המזהה שלו, כפי שמוצג בדוגמת הקוד הבאה.

Contact fetchedContact = client.getContact(id);

הוספת אנשי קשר

ה EWSClient מחלקה createContact() שיטה יכולה לשמש להוספת מידע של Contact ל‑Exchange Server. ה‑ createContact() שיטה מקבלת Contact אובייקט כפרמטר קלט.

להוספת אנשי קשר ל‑Exchange Server:

  1. אתחל את EWSClient עם כתובת ופרטי גישה.
  2. אתחל את אובייקט Contact עם המאפיינים הרצויים.
  3. הפעל את השיטה 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 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 class מספקת את deleteItem לגישה ולמחיקת אנשי קשר מתיקיית Contacts של Exchange Server. שיטה זו מקבלת את מזהה האיש קשר כפרמטר קלט.

למחיקת אנשי קשר מ‑Exchange Server:

  1. אתחול ExchangeWebServiceClient עם כתובת ופרטי גישה.
  2. מחיקת איש קשר באמצעות המזהה שלו.

קטעי הקוד הבאים מציגים כיצד למחוק אנשי קשר מ‑Exchange Server באמצעות 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();