Praca z kontaktami Gmail
Aspose.Email obsługuje pracę z kontaktami Gmail. Używając IGmailClient interfejs, użytkownicy mogą pobierać kontakty z konta Gmail, tworzyć nowe kontakty oraz aktualizować i usuwać istniejące kontakty. Gmail umożliwia programistom wykonanie wszystkiego tego za pomocą swojego publicznego API dla deweloperów. Do pracy z kontaktami Gmail wymagane są następujące informacje o użytkowniku: nazwa użytkownika, adres e‑mail, hasło, client ID, client secret, token odświeżania.
Dostęp do kontaktów Gmail
Poniżej znajduje się przykładowa aplikacja, która może być użyta do uzyskania szczegółów kontaktów we wszystkich grupach.
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());
}
}
Tworzenie kontaktu
Poniższy fragment kodu pokazuje, jak tworzyć kontakt.
// 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);
Aktualizacja kontaktu
Po pobraniu kontaktu, jego atrybuty mogą być zaktualizowane i kontakt może zostać zapisany ponownie na koncie Gmail. Poniższy fragment kodu pokazuje, jak pobrać kontakty z konta Gmail, zmodyfikować jeden z nich i zapisać go z powrotem.
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);
}
Usuwanie kontaktu
Aby usunąć kontakt Gmail, używana jest metoda DeleteContact klienta Gmail, jak pokazano w poniższym przykładzie.
client.deleteContact(contact.getId().getGoogleId());
Zapisywanie kontaktu
Aspose.Email umożliwia zapisywanie kontaktu w różnych formatach wyjściowych, takich jak MSG i VCF. Metoda Save zapewnia tę funkcjonalność. Poniższy fragment kodu pokazuje, jak zapisać kontakt.
contact.save(dataDir + "contact_out.msg", ContactSaveFormat.Msg);
contact.save(dataDir + "contact_out.vcf", ContactSaveFormat.VCard);