Trabajando con Contactos de Gmail
Aspose.Email admite el trabajo con contactos de Gmail. Usando la interfaz IGmailClient, los usuarios pueden recuperar contactos de una cuenta de Gmail, crear nuevos contactos y actualizar o eliminar contactos existentes. Gmail permite a los desarrolladores realizar todas estas acciones mediante su API pública para desarrolladores. La siguiente información del usuario es necesaria para trabajar con los contactos de Gmail: Nombre de usuario, dirección de correo electrónico, contraseña, ID del cliente, secreto del cliente, token de actualización. Este artículo muestra cómo:
- Acceder a los contactos de Gmail.
- Crear nuevos contactos de Gmail.
- Actualizar contactos existentes.
- Eliminar un contacto.
- Guardar contacto.
Acceso a los Contactos de Gmail
Lo siguiente es una aplicación de muestra que se puede usar para acceder al detalle de los contactos en todos los grupos.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
GoogleTestUser User2 = new GoogleTestUser("user", "email address", "password", "clientId", "client secret"); | |
string accessToken; | |
string refreshToken; | |
GoogleOAuthHelper.GetAccessToken(User2, out accessToken, out refreshToken); | |
// Get IGmailclient | |
using (IGmailClient client = GmailClient.GetInstance(accessToken, User2.EMail)) | |
{ | |
Contact[] contacts = client.GetAllContacts(); | |
foreach (Contact contact in contacts) | |
Console.WriteLine(contact.DisplayName + ", " + contact.EmailAddresses[0]); | |
// Fetch contacts from a specific group | |
ContactGroupCollection groups = client.GetAllGroups(); | |
GoogleContactGroup group = null; | |
foreach (GoogleContactGroup g in groups) | |
switch (g.Title) | |
{ | |
case "TestGroup": group = g; | |
break; | |
} | |
// Retrieve contacts from the Group | |
if (group != null) | |
{ | |
Contact[] contacts2 = client.GetContactsFromGroup(group.Id); | |
foreach (Contact con in contacts2) | |
Console.WriteLine(con.DisplayName + "," + con.EmailAddresses[0].ToString()); | |
} | |
} |
Creando un Contacto
El siguiente fragmento de código muestra cómo crear un contacto.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
GoogleTestUser User2 = new GoogleTestUser("user", "email address", "password", "clientId", "client secret"); | |
string accessToken; | |
string refreshToken; | |
GoogleOAuthHelper.GetAccessToken(User2, out accessToken, out refreshToken); | |
// Gmail Client | |
IGmailClient client = GmailClient.GetInstance(accessToken, User2.EMail); | |
// Create a Contact | |
Contact contact = new Contact(); | |
contact.Prefix = "Prefix"; | |
contact.GivenName = "GivenName"; | |
contact.Surname = "Surname"; | |
contact.MiddleName = "MiddleName"; | |
contact.DisplayName = "Test User 1"; | |
contact.Suffix = "Suffix"; | |
contact.JobTitle = "JobTitle"; | |
contact.DepartmentName = "DepartmentName"; | |
contact.CompanyName = "CompanyName"; | |
contact.Profession = "Profession"; | |
contact.Notes = "Notes"; | |
PostalAddress address = new PostalAddress(); | |
address.Category = PostalAddressCategory.Work; | |
address.Address = "Address"; | |
address.Street = "Street"; | |
address.PostOfficeBox = "PostOfficeBox"; | |
address.City = "City"; | |
address.StateOrProvince = "StateOrProvince"; | |
address.PostalCode = "PostalCode"; | |
address.Country = "Country"; | |
contact.PhysicalAddresses.Add(address); | |
PhoneNumber pnWork = new PhoneNumber(); | |
pnWork.Number = "323423423423"; | |
pnWork.Category = PhoneNumberCategory.Work; | |
contact.PhoneNumbers.Add(pnWork); | |
PhoneNumber pnHome = new PhoneNumber(); | |
pnHome.Number = "323423423423"; | |
pnHome.Category = PhoneNumberCategory.Home; | |
contact.PhoneNumbers.Add(pnHome); | |
PhoneNumber pnMobile = new PhoneNumber(); | |
pnMobile.Number = "323423423423"; | |
pnMobile.Category = PhoneNumberCategory.Mobile; | |
contact.PhoneNumbers.Add(pnMobile); | |
contact.Urls.Blog = "Blog.ru"; | |
contact.Urls.BusinessHomePage = "BusinessHomePage.ru"; | |
contact.Urls.HomePage = "HomePage.ru"; | |
contact.Urls.Profile = "Profile.ru"; | |
contact.Events.Birthday = DateTime.Now.AddYears(-30); | |
contact.Events.Anniversary = DateTime.Now.AddYears(-10); | |
contact.InstantMessengers.AIM = "AIM"; | |
contact.InstantMessengers.GoogleTalk = "GoogleTalk"; | |
contact.InstantMessengers.ICQ = "ICQ"; | |
contact.InstantMessengers.Jabber = "Jabber"; | |
contact.InstantMessengers.MSN = "MSN"; | |
contact.InstantMessengers.QQ = "QQ"; | |
contact.InstantMessengers.Skype = "Skype"; | |
contact.InstantMessengers.Yahoo = "Yahoo"; | |
contact.AssociatedPersons.Spouse = "Spouse"; | |
contact.AssociatedPersons.Sister = "Sister"; | |
contact.AssociatedPersons.Relative = "Relative"; | |
contact.AssociatedPersons.ReferredBy = "ReferredBy"; | |
contact.AssociatedPersons.Partner = "Partner"; | |
contact.AssociatedPersons.Parent = "Parent"; | |
contact.AssociatedPersons.Mother = "Mother"; | |
contact.AssociatedPersons.Manager = "Manager"; | |
// Email Address | |
EmailAddress eAddress = new EmailAddress(); | |
eAddress.Address = "email@gmail.com"; | |
contact.EmailAddresses.Add(eAddress); | |
string contactUri = client.CreateContact(contact); |
Actualizando un Contacto
Una vez que se recupera un contacto, sus atributos pueden actualizarse y el contacto puede guardarse nuevamente en la cuenta de Gmail. El siguiente fragmento de código muestra cómo recuperar contactos de una cuenta de Gmail y luego modificar uno de ellos, el cual se vuelve a guardar.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
GoogleTestUser User2 = new GoogleTestUser("user", "email address", "password", "clientId", "client secret"); | |
string accessToken; | |
string refreshToken; | |
GoogleOAuthHelper.GetAccessToken(User2, out accessToken, out refreshToken); | |
// Get IGmailclient | |
using (IGmailClient client = GmailClient.GetInstance(accessToken, User2.EMail)) | |
{ | |
Contact[] contacts = client.GetAllContacts(); | |
Contact contact = contacts[0]; | |
contact.JobTitle = "Manager IT"; | |
contact.DepartmentName = "Customer Support"; | |
contact.CompanyName = "Aspose"; | |
contact.Profession = "Software Developer"; | |
client.UpdateContact(contact); | |
} |
Eliminando un Contacto
Para eliminar un contacto de Gmail, se utiliza el método DeleteContact del cliente de Gmail, como se muestra en el siguiente fragmento de muestra.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
client.DeleteContact(contact.Id.GoogleId); |
Guardando un Contacto
Aspose.Email permite guardar contactos en varios formatos de salida, como MSG y VCF. El método Save proporciona la capacidad de lograr esto. El siguiente fragmento de código muestra cómo guardar un contacto.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
contact.Save(dataDir + "contact_out.msg", ContactSaveFormat.Msg); | |
contact.Save(dataDir + "contact_out.vcf", ContactSaveFormat.VCard); |