Gmail API の 4D Netkit への統合を進めるなかで、メールをシームレスに管理するための包括的なコマンドのセットが提供できるようになりました。
4D v20 R3 では、ラベルのリストを簡単に取得し、メールを取得し、効率的に削除できる新しいコマンドを紹介します。
詳しく見ていきましょう!
アカウント接続
まずは、OAuth 2.0接続 オブジェクトと Googleオブジェクトを作成します。
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($credentials)
$google:=cs.NetKit.Google.new($oAuth2; {mailType: "JMAP"})
ラベルリストの取得
メールラベルのコレクションを取得するには、.getLabelList() 関数を使用します:
$labelList:=$google.mail.getLabelList()
// メールラベルを格納するコレクション
$labels:=$labelList.labels
ラベル名・id・タイプをラベル毎に格納するオブジェクト要素のコレクションを取得します:
メールの取得
メールボックスのメールID を取得するには、.getMailIds() 関数を使います。たとえば、INBOXラベルのメールID をすべて取得するには:
$mailIds:=$google.mail.getMailIds({labelIds: ["INBOX"]})
メールの中身を取得するには、.getMail() 関数を使います。たとえば、INBOXラベルの一番新しいメールを取得するには:
$mail:=$google.mail.getMail($mailIds.mailIds.first().id)
メールの削除
メールをゴミ箱に移動したり、永久に削除するには .delete() 関数を使います:
// メールを完全に削除します
$status:=$google.mail.delete($mailIds.mailIds.first().id; True)
// メールをゴミ箱に移動します
$status:=$google.mail.delete($mailIds.mailIds.first().id; False)
詳しくは HDI とドキュメントをご覧ください!