4D Netkit: Get Labels And Emails From Gmail

As we continue to integrate the Gmail API into 4D Netkit, we’re bringing you a comprehensive set of commands to seamlessly manage your emails.

With 4D v20 R3, we’re introducing new commands that empower you to effortlessly retrieve the list of labels, get emails, and efficiently remove them.

Let’s learn more!

HDI Google gets emails

Account connection

Before creating an email, we will create an OAuth 2.0 connection object and a Google object.

var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$google:=cs.NetKit.Google.new($oAuth2; {mailType: "JMAP"})

Get label list

You can get the mail label collection by using the .getLabelList() function:

// Collection with all the mail labels

You get a collection that contains, for each label,  label name, id, and type:

Get mails

You can get the mail Ids of your mailbox by using the .getMailIds() function. For example, if you want to retrieve all the mail present in the Inbox label:

$mailIds:=$google.mail.getMailIds({labelIds: ["INBOX"]})

To get the mail content, use the .getMail() function. For example, if you want to get the most recent mail of your Inbox label:


delete emails

You can move to trash or delete permanently your mails with the .delete() function:

// Delete permanently a mail
$status:=$google.mail.delete($mailIds.mailIds.first().id; True)

// Move a mail to the trash
$status:=$google.mail.delete($mailIds.mailIds.first().id; False)

Check out this feature with the HDI and the documentation for more details!

Fabrice Mainguené
• Product Owner •Fabrice Mainguené joined 4D Program team in November, 2016. As a Product Owner, he is in charge of writing the user stories then translating it to functional specifications. His role is also to make sure that the feature implementation delivered is meeting the customer need.After obtaining a Bachelor degree in Computer Science at CNAM, Fabrice joined a small software publishing company as a Windev developer. Then he worked for different companies in industry and trade areas as a Windev and web developer as well as technical advisor on new features.