Arbeiten mit Gmail‑Kontakten
Aspose.Email unterstützt die Arbeit mit Gmail‑Kontakten. Mit dem IGmailClient Über die Schnittstelle können Benutzer Kontakte aus einem Gmail‑Konto abrufen, neue Kontakte erstellen sowie vorhandene Kontakte aktualisieren und löschen. Gmail ermöglicht Entwicklern dies über seine öffentliche Entwickler‑API. Für die Arbeit mit Gmail‑Kontakten werden folgende Benutzerinformationen benötigt: Benutzername, E‑Mail‑Adresse, Passwort, Client‑ID, Client‑Secret, Refresh‑Token.
Zugriff auf Gmail‑Kontakte
Nachfolgend eine Beispielanwendung, mit der die Details von Kontakten in allen Gruppen abgerufen werden können.
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());
}
}
Kontakt erstellen
Das folgende Code‑Snippet zeigt, wie ein Kontakt erstellt wird.
// 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);
Kontakt aktualisieren
Sobald ein Kontakt abgerufen wurde, können seine Attribute aktualisiert und der Kontakt wieder im Gmail‑Konto gespeichert werden. Das folgende Code‑Snippet zeigt, wie Kontakte aus einem Gmail‑Konto abgerufen, einer davon geändert und anschließend wieder gespeichert wird.
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);
}
Kontakt löschen
Um einen Gmail‑Kontakt zu löschen, wird die DeleteContact‑Methode des Gmail‑Clients verwendet, wie im folgenden Beispiel‑Snippet gezeigt.
client.deleteContact(contact.getId().getGoogleId());
Kontakt speichern
Aspose.Email ermöglicht das Speichern von Kontakten in verschiedenen Ausgabeformaten wie MSG und VCF. Die Save‑Methode bietet diese Funktion. Das folgende Code‑Snippet zeigt, wie ein Kontakt gespeichert wird.
contact.save(dataDir + "contact_out.msg", ContactSaveFormat.Msg);
contact.save(dataDir + "contact_out.vcf", ContactSaveFormat.VCard);