GASGmail:下書き・既読
GAS連携の概要
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するためのスクリプト言語です。GAS から Gmail API を呼び出すことで、メールの送受信や管理をプログラムで行うことができます。この記事では、GAS 連携を使った Gmail 操作の実装例を中心に解説します。
Gmail操作の基本
Gmail の操作は GmailApp クラスを利用して行います。代表的なメソッドには createDraft(下書き作成)、moveToTrash(ゴミ箱へ移動)、markRead(既読にする)、starMessage(スター付与)などがあります。これらを組み合わせることで、メールの自動処理が可能です。
主要メソッドの使い方
下書き作成(createDraft)
下書きを作成するには GmailApp.createDraft(recipient, subject, body) を使用します。以下はサンプルコードです。
function draftExample() {
var draft = GmailApp.createDraft(
'example@example.com',
'GAS で作成した下書き',
'こんにちは、これは自動生成された下書きです。'
);
Logger.log('Draft ID: ' + draft.getId());
}
ゴミ箱へ移動(moveToTrash)
メールをゴミ箱へ移動するには GmailApp.moveToTrash(message) を使用します。複数件をまとめて処理する場合は GmailApp.search(query) で取得した配列をループします。
function trashExample() {
var threads = GmailApp.search('label:unread');
threads.forEach(function(thread) {
GmailApp.moveToTrash(thread);
});
}
既読にする(markRead)
メールを既読にするには GmailApp.markRead(message) を呼び出します。下記は単一メッセージを既読にする例です。
function readExample() {
var message = GmailApp.getMessageById('1234567890abcdef');
GmailApp.markRead(message);
}
スター付与(starMessage)
スターを付与するには GmailApp.starMessage(message) を使用します。以下は複数メッセージにスターを付与する例です。
function starExample() {
var messages = GmailApp.search('subject:重要');
messages.forEach(function(msg) {
GmailApp.starMessage(msg);
});
}
実践例と注意点
実際に GAS 連携を組み込む際は、以下の点に注意してください。
- 権限設定:Gmail API を使用するには、スクリプトエディタで「サービス」から Gmail API を有効化し、OAuth スコープを設定する必要があります。
- 実行頻度:GAS の実行時間制限(1日 6 時間)やクォータ制限(1 日 1000 通のメール送信など)を確認し、バッチ処理を適切に設計してください。
- エラーハンドリング:API 呼び出し時に例外が発生する可能性があるため、
try...catchでエラーを捕捉し、ログに残すようにしましょう。 - テスト環境:実際のメールボックスに影響を与える前に、テスト用のラベルやフィルタを作成し、スクリプトを検証してください。
これらを踏まえて、GAS 連携と Gmail 操作を組み合わせることで、業務の自動化やメール管理の効率化が実現できます。ぜひ試してみてください。
コメント
コメントを投稿