4D Netkit: Gmail からラベルや Eメールを取得

Gmail API の 4D Netkit への統合を進めるなかで、メールをシームレスに管理するための包括的なコマンドのセットが提供できるようになりました。

4D v20 R3 では、ラベルのリストを簡単に取得し、メールを取得し、効率的に削除できる新しいコマンドを紹介します。

詳しく見ていきましょう!

HDI: Gmail API: メールの受信

アカウント接続

まずは、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 とドキュメントをご覧ください!

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。