کار با مخاطبان Gmail

Aspose.Email از کار با مخاطبان Gmail پشتیبانی می‌کند. با استفاده از IGmailClient از طریق این واسط، کاربران می‌توانند مخاطبان را از یک حساب Gmail بازیابی کنند، مخاطبان جدید ایجاد کرده، و مخاطبان موجود را به‌روزرسانی یا حذف کنند. Gmail به توسعه‌دهندگان این امکان را می‌دهد که با استفاده از API عمومی خود این کارها را انجام دهند. اطلاعات کاربری زیر برای کار با مخاطبان Gmail لازم است: نام کاربری، آدرس ایمیل، رمز عبور، شناسهٔ مشتری (Client ID)، راز مشتری (Client Secret) و توکن تازه‌سازی (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);