スキルアップを始める!

【GAS】Google Apps ScriptでドキュメントをHTMLメールとして送信する方法

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

Google Apps Scriptを使って、Google ドキュメントの内容をHTMLメールとして送信する方法をご紹介します。この方法を使えば、ドキュメントの内容を簡単にHTMLメールで送信できるようになります。

はじめに

今回解説する関数 sendMinutesEmail() の全体像です。

function sendMinutesEmail() {
var docId = 'XXXXXXXXXXXXXXXXXXX';
var exportUrl = 'https://docs.google.com/feeds/download/documents/export/Export?id=' + docId + '&exportFormat=html';


// var storageUsed = DriveApp.getStorageUsed(); // 認証エラー回避用

var requestOptions = {
method: 'get',
headers: { 'Authorization': 'Bearer ' + ScriptApp.getOAuthToken() },
muteHttpExceptions: true
};

var minutesHtml = UrlFetchApp.fetch(exportUrl, requestOptions).getContentText();

MailApp.sendEmail({
to: 'team@example.com',
subject: '【議事録】週次ミーティング(' + Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd') + ')',
htmlBody: minutesHtml
});
}

それでは、この関数の各部分を詳しく見ていきましょう。

議事録ドキュメントIDの指定

var docId = 'XXXXXXXXXXXXXXXXXXX';

ここでは、送信したい議事録のGoogle ドキュメントIDを指定します。このIDは、ドキュメントのURLから取得できます。例えば、ドキュメントのURLが https://docs.google.com/document/d/123456789/edit の場合、IDは 123456789となります。

エクスポートURLの構築

var exportUrl = 'https://docs.google.com/feeds/download/documents/export/Export?id=' + docId + '&exportFormat=html';

この行では、議事録をHTMLとしてエクスポートするためのURLを構築しています。id パラメータに先ほど指定したドキュメントIDを、exportFormat パラメータに html を指定することで、HTMLフォーマットでエクスポートできるようになります。

リクエストオプションの設定

var requestOptions = {
method: 'get',
headers: { 'Authorization': 'Bearer ' + ScriptApp.getOAuthToken() },
muteHttpExceptions: true
};

ここでは、ドキュメントにアクセスするための認証情報を設定しています。

ScriptApp.getOAuthToken() を使用して、現在のユーザーの認証トークンを取得し、それを Authorization ヘッダーに設定しています。

また、muteHttpExceptions: true を設定することで、HTTPエラーが発生しても処理を続行できるようにしています。

議事録のフェッチ

var minutesHtml = UrlFetchApp.fetch(exportUrl, requestOptions).getContentText();

この行で、実際に議事録の内容をHTMLとして取得しています。

UrlFetchApp.fetch() メソッドを使用して、先ほど構築したURLにリクエストを送信し、レスポンスのコンテンツを取得します。

メールの送信

MailApp.sendEmail({
to: 'team@example.com',
subject: '【議事録】週次ミーティング(' + Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd') + ')',
htmlBody: minutesHtml
});

最後に、MailApp.sendEmail() メソッドを使用して、取得した議事録のHTMLコンテンツをメールとして送信します。

ここでは、送信先のメールアドレス、件名、そしてHTML形式の本文を指定しています。

件名には現在の日付を含めて、どの日の議事録かわかりやすくしています。

注意点

  • コメントアウトされている DriveApp.getStorageUsed() の行は、認証エラーを防ぐために必要な場合があります。もし認証エラーが発生する場合は、このコメントを外してみてください。
  • この関数を使用するには、適切な権限設定が必要です。Google Apps Scriptのプロジェクトで、必要なAPIへのアクセスを許可してください。
  • 大量のメール送信を行う場合は、Googleの制限に注意してください。1日あたりのメール送信数には制限があります。

まとめ

以上が、Google Apps Scriptを使って議事録をHTMLメールとして自動送信する方法の詳細な解説でした。この方法を使えば、会議後の議事録共有などが格段に効率化されます。例えば、会議終了後にこのスクリプトを実行するだけで、全員に最新の議事録が送信されるので、情報共有のスピードが上がります。

さらに、この関数をトリガーと組み合わせれば、定期的な会議の後に自動で議事録を送信することもできます。例えば、毎週金曜日の17時に自動実行するようにスケジュールを設定すれば、週次ミーティングの議事録を自動で全員に送ることができます。

ぜひ、皆さんの業務にも取り入れてみてください。チームの生産性向上にも繋がります。

URLをコピーしました!