Microsoft 365: Microsoft Graph API でメールをコピー、移動、返信、削除する

Microsoft 365 の、メールなどのデータにアクセスする方法として、Microsoft は IMAP と POP3 の Basic認証を廃止とし、Graph API の使用を推進しています。

v19 R8では、4D NetKit にビルトインコマンドが新しく追加され、メールのコピー、移動、返信、削除などの Microsoft 365 メールの操作をネイティブで自動化できるようになりました。

HDI Office365: メールの管理

アカウント接続

まず初めに、OAuth2接続用のオブジェクトと Office 365 オブジェクトを作成します。

var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365

$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$office365:=cs.NetKit.Office365.new($oAuth2;\
 New object("mailType"; "Microsoft"))

メールの移動またはコピー

メールをあるフォルダーから別のフォルダーに移動するには、.move() 関数に mailId と folderId を渡します:

$status:=$office365.mail.move($mailId; $folderId)

同様に、あるフォルダーから別のフォルダーにメールをコピーするには、.copy()  関数に mailId と folderId を渡します:

$status:=$office365.mail.copy($mailId; $folderId)

メールに返信する

電子メールに返信するには、送信したいテキストと、返信対象のメールの mailId を .reply() 関数に渡します:

$reply:=New object
// 返信文としえ送信されるテキスト
$reply.comment:="Thank you for your message"
$status:=$office.mail.reply($reply; $mails.mailId)

下書きメールを追加する

下書きメールを作成し、.append () 関数を使って任意のフォルダーに保存することができます:

// メールを追加します
$status:=$office365.mail.append($draft; $folder.id)

メールの削除

メールを削除するには、.delete() 関数にメールの ID を渡します:

$office365.mail.delete($mailId)

これらの機能については、上記の HDI とドキュメントで詳細を確認してください。

メールの管理に関するためのその他のコマンドについては、このブログ記事を読んでみましょう

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