العمل مع جهات اتصال Gmail
تدعم Aspose.Email العمل مع جهات اتصال Gmail. باستخدام IGmailClient من خلال الواجهة، يمكن للمستخدمين استرجاع جهات اتصال من حساب Gmail، إنشاء جهات اتصال جديدة، وتحديث وحذف جهات الاتصال الموجودة. يتيح Gmail للمطورين القيام بكل ذلك باستخدام واجهة برمجة التطبيقات العامة للمطورين. المعلومات المطلوبة للعمل مع جهات اتصال Gmail هي: اسم المستخدم، عنوان البريد الإلكتروني، كلمة المرور، معرّف العميل، السر الخاص بالعميل، ورمز تحديث (refresh token).
الوصول إلى جهات اتصال Gmail
فيما يلي تطبيق عينة يمكن استخدامه للوصول إلى تفاصيل جهات الاتصال في جميع المجموعات.
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());
}
}
إنشاء جهة اتصال
يوضح مقتطف الكود التالي كيفية إنشاء جهة اتصال.
// 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);
تحديث جهة اتصال
بمجرد استرجاع جهة اتصال، يمكن تحديث خصائصها ثم حفظها مرة أخرى إلى حساب Gmail. يوضح مقتطف الكود التالي كيفية استرجاع جهات الاتصال من حساب Gmail ثم تعديل إحدى هذه الجهات وحفظها مرة أخرى.
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);
}
حذف جهة اتصال
لحذف جهة اتصال Gmail، يتم استخدام طريقة DeleteContact الخاصة بعميل Gmail كما هو موضح في مقتطف العينة التالي.
client.deleteContact(contact.getId().getGoogleId());
حفظ جهة اتصال
تتيح Aspose.Email حفظ جهة الاتصال بصيغ إخراج مختلفة مثل MSG و VCF. توفر طريقة Save القدرة على ذلك. يوضح مقتطف الكود التالي كيفية حفظ جهة الاتصال.
contact.save(dataDir + "contact_out.msg", ContactSaveFormat.Msg);
contact.save(dataDir + "contact_out.vcf", ContactSaveFormat.VCard);