Trabalhando com Contatos do Gmail
Aspose.Email suporta o trabalho com contatos do Gmail. Usando a interface IGmailClient, os usuários podem recuperar contatos de uma conta do Gmail, criar novos contatos e atualizar e excluir contatos existentes. O Gmail permite que os desenvolvedores realizem todas essas operações usando sua API pública para desenvolvedores. As seguintes informações do usuário são necessárias para trabalhar com contatos do Gmail: Nome de usuário, endereço de e-mail, senha, ID do cliente, token secreto de atualização do cliente. Este artigo mostra como:
- Acessar contatos do Gmail.
- Criar novos contatos do Gmail.
- Atualizar contatos existentes.
- Excluir um contato.
- Salvar contato.
Acessar Contatos do Gmail
O seguinte é um aplicativo de exemplo que pode ser usado para acessar os detalhes dos contatos em todos os 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()); | |
} | |
} |
Criando Contato
O seguinte trecho de código mostra como criar um contato.
// 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); |
Atualizando Contato
Uma vez que um contato é recuperado, seus atributos podem ser atualizados e o contato pode ser salvo de volta na conta do Gmail. O seguinte trecho de código mostra como recuperar contatos de uma conta do Gmail e, em seguida, modificar um deles que é salvo novamente.
// 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); | |
} |
Excluindo Contato
Para excluir um contato do Gmail, o método DeleteContact do cliente Gmail é usado, conforme mostrado no seguinte trecho de exemplo.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
client.DeleteContact(contact.Id.GoogleId); |
Salvando Contato
Aspose.Email permite salvar contatos em vários formatos de saída, como MSG e VCF. O método Save fornece a capacidade de atingir isso. O seguinte trecho de código mostra como salvar um contato.
// 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); |