Làm việc với Danh bạ Gmail
Aspose.Email hỗ trợ làm việc với danh bạ Gmail. Sử dụng IGmailClient Giao diện này cho phép người dùng lấy danh bạ từ tài khoản Gmail, tạo danh bạ mới, và cập nhật cũng như xóa danh bạ hiện có. Gmail cho phép các nhà phát triển thực hiện tất cả các thao tác này thông qua API công cộng dành cho nhà phát triển. Các thông tin người dùng sau đây là cần thiết để làm việc với danh bạ Gmail: Tên người dùng, địa chỉ email, mật khẩu, client ID, client secret, refresh token.
Truy cập Danh bạ Gmail
Dưới đây là một ứng dụng mẫu có thể được dùng để truy cập chi tiết danh bạ trong tất cả các nhóm.
try (IGmailClient client = GmailClient.getInstance(accessToken, email)) {
Contact[] contacts = client.getAllContacts();
for (Contact contact : contacts)
System.out.println(contact.getDisplayName() + ", " + contact.getEmailAddresses().get_Item(0));
// Fetch contacts from a specific group
ContactGroupCollection groups = client.getAllGroups();
GoogleContactGroup group = null;
for (GoogleContactGroup g : groups) {
if ("TestGroup".equals(g.getTitle())) {
group = g;
}
}
// Retrieve contacts from the Group
if (group != null) {
Contact[] contacts2 = client.getContactsFromGroup(group.getId());
for (Contact con : contacts2)
System.out.println(con.getDisplayName() + "," + con.getEmailAddresses().get_Item(0).toString());
}
}
Tạo Danh bạ
Đoạn mã dưới đây cho thấy cách tạo danh bạ.
// Create a Contact
Contact contact = new Contact();
contact.setPrefix("Prefix");
contact.setGivenName("GivenName");
contact.setSurname("Surname");
contact.setMiddleName("MiddleName");
contact.setDisplayName("DisplayName");
contact.setSuffix("Suffix");
contact.setJobTitle("JobTitle");
contact.setDepartmentName("DepartmentName");
contact.setCompanyName("CompanyName");
contact.setProfession("Profession");
contact.setNotes("Notes");
PostalAddress address = new PostalAddress();
address.setCategory(PostalAddressCategory.getWork());
address.setAddress("Address");
address.setStreet("Street");
address.setPostOfficeBox("PostOfficeBox");
address.setCity("City");
address.setStateOrProvince("StateOrProvince");
address.setPostalCode("PostalCode");
address.setCountry("Country");
contact.getPhysicalAddresses().add(address);
PhoneNumber pnWork = new PhoneNumber();
pnWork.setNumber("323423423423");
pnWork.setCategory(PhoneNumberCategory.getWork());
contact.getPhoneNumbers().add(pnWork);
PhoneNumber pnHome = new PhoneNumber();
pnHome.setNumber("323423423423");
pnHome.setCategory(PhoneNumberCategory.getHome());
contact.getPhoneNumbers().add(pnHome);
PhoneNumber pnMobile = new PhoneNumber();
pnMobile.setNumber("323423423423");
pnMobile.setCategory(PhoneNumberCategory.getMobile());
contact.getPhoneNumbers().add(pnMobile);
contact.getUrls().setBlog("Blog.com");
contact.getUrls().setBusinessHomePage("BusinessHomePage.com");
contact.getUrls().setHomePage("HomePage.com");
contact.getUrls().setProfile("Profile.com");
contact.getEvents().setBirthday(new Date());
contact.getEvents().setAnniversary(new Date());
contact.getInstantMessengers().setAIM("AIM");
contact.getInstantMessengers().setGoogleTalk("GoogleTalk");
contact.getInstantMessengers().setICQ("ICQ");
contact.getInstantMessengers().setJabber("Jabber");
contact.getInstantMessengers().setMSN("MSN");
contact.getInstantMessengers().setQQ("QQ");
contact.getInstantMessengers().setSkype("Skype");
contact.getInstantMessengers().setYahoo("Yahoo");
contact.getAssociatedPersons().setSpouse("Spouse");
contact.getAssociatedPersons().setSister("Sister");
contact.getAssociatedPersons().setRelative("Relative");
contact.getAssociatedPersons().setReferredBy("ReferredBy");
contact.getAssociatedPersons().setPartner("Partner");
contact.getAssociatedPersons().setParent("Parent");
contact.getAssociatedPersons().setMother("Mother");
contact.getAssociatedPersons().setManager("Manager");
// Email Address
EmailAddress eAddress = new EmailAddress();
eAddress.setAddress("email@gmail.com");
contact.getEmailAddresses().add(eAddress);
String contactUri = client.createContact(contact);
Cập nhật Danh bạ
Khi một danh bạ đã được lấy, các thuộc tính của nó có thể được cập nhật và danh bạ có thể được lưu trở lại tài khoản Gmail. Đoạn mã dưới đây cho thấy cách lấy danh bạ từ tài khoản Gmail và sau đó sửa đổi một danh bạ và lưu lại.
try (IGmailClient client = GmailClient.getInstance(accessToken, email)) {
Contact[] contacts = client.getAllContacts();
Contact contact = contacts[0];
contact.setJobTitle("Manager IT");
contact.setDepartmentName("Customer Support");
contact.setCompanyName("Aspose");
contact.setProfession("Software Developer");
client.updateContact(contact);
}
Xóa Danh bạ
Để xóa một danh bạ Gmail, phương thức DeleteContact của client Gmail được sử dụng như trong đoạn mã mẫu dưới đây.
client.deleteContact(contact.getId().getGoogleId());
Lưu Danh bạ
Aspose.Email cho phép lưu danh bạ sang các định dạng đầu ra khác nhau như MSG và VCF. Phương thức Save cung cấp khả năng này. Đoạn mã dưới đây cho thấy cách lưu danh bạ.
contact.save(dataDir + "contact_out.msg", ContactSaveFormat.Msg);
contact.save(dataDir + "contact_out.vcf", ContactSaveFormat.VCard);