スキップしてメイン コンテンツに移動

GASGmail:下書き・既読

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 操作を組み合わせることで、業務の自動化やメール管理の効率化が実現できます。ぜひ試してみてください。

この記事はAIによって作成されました。

コメント