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時に自動実行するようにスケジュールを設定すれば、週次ミーティングの議事録を自動で全員に送ることができます。
ぜひ、皆さんの業務にも取り入れてみてください。チームの生産性向上にも繋がります。