ADVERTISEMENT

【Googleドキュメント】承認依頼メールに文書リンクを自動で入れたい時の設計

【Googleドキュメント】承認依頼メールに文書リンクを自動で入れたい時の設計
🛡️ 超解決

Googleドキュメントで作成した文書を上司や同僚に承認してもらう際、承認依頼メールに文書へのリンクを自動で挿入できれば、相手はクリックするだけで文書を開くことができ、業務効率が大幅に向上します。しかし、Googleドキュメントの標準機能だけでは、承認依頼のメールにリンクを自動で含めることはできません。そのため、Google Apps Script(GAS)やGoogle Workspaceの各種機能を組み合わせた設計が必要です。本記事では、承認依頼メールに文書リンクを自動で入れるための設計方法を、具体的な手順や失敗パターンを交えて解説します。対象読者は会社のPCでGoogleドキュメントを利用している方で、承認フローの自動化を検討している方です。

【要点】この記事で確認すること

  • 最初に見る場所: Googleドキュメントのメニュー「拡張機能」→「Apps Script」でスクリプトエディタが開けるか確認します。管理者によりスクリプト実行が制限されている場合があります。
  • 切り分けの軸: 問題が「スクリプトの設定ミス」「権限不足」「メール送信の制限」のいずれに起因するかを切り分けます。G Suite / Google Workspaceのエディションによっても制限が異なります。
  • 注意点: 会社のGoogle Workspaceアカウントでは、セキュリティポリシーによりスクリプトの実行やGmail APIの利用が禁止されているケースがあります。必ず管理者に確認してから設計を進めてください。

ADVERTISEMENT

承認依頼メール自動リンク設計の基本

承認依頼メールに文書リンクを自動で入れるためには、Googleドキュメント上で承認依頼をトリガーとしてメールを送信する仕組みを作る必要があります。標準機能では「コメント」や「提案モード」で承認を依頼できますが、メール本文に自動でリンクを含めることはできません。そのため、Google Apps Script(GAS)を用いて、文書のURLを取得し、Gmailの送信機能で承認者にメールを送る設計が一般的です。この設計では、スクリプトを文書にバインディングするか、コンテナバインドスクリプトとして保存します。また、承認依頼ボタンをカスタムメニューとして追加すると、利用者が簡単に実行できます。

自動リンク挿入の利点

自動化の最大の利点は、承認者がメールを受け取ったらすぐに文書を開けることです。手動でリンクをコピー&ペーストする必要がなくなり、リンク切れや誤ったURLを送るリスクも減ります。また、承認フローの標準化により、誰がいつ承認を依頼したかの記録も残りやすくなります。複数の承認者に一斉送信する場合も、スクリプトで簡単に実現できます。

手動と自動の比較

項目 手動 自動(GAS)
リンク挿入の手間 毎回URLをコピーし、メールに貼り付ける ボタン一つで自動挿入
リンク切れリスク 誤ったURLを送る可能性あり スクリプトが正しいURLを取得するため低い
承認者への確認 メール送信後に手動で追跡 スクリプト内で送信履歴を記録可能
必要スキル 不要 GASの基本的な知識が必要
セキュリティリスク 低い(ただし人為的ミスあり) スクリプトの権限設定を誤ると情報漏洩の可能性

Google Apps Scriptを使った具体的な設計手順

ここからは、実際にGoogleドキュメント上で承認依頼メールにリンクを自動で入れるスクリプトを作成する手順を説明します。スクリプトは該当のドキュメントに紐づく「コンテナバインドスクリプト」として作成します。

スクリプト作成の手順

  1. 承認依頼を送りたいGoogleドキュメントを開きます。メニューから「拡張機能」→「Apps Script」をクリックし、スクリプトエディタを起動します。
  2. エディタが開いたら、デフォルトのコード(function myFunction())を削除し、以下のようなスクリプトを記述します。スクリプトは、文書のURLを取得し、承認者のメールアドレスを入力するダイアログを表示して、Gmailでメールを送信するものです。
  3. スクリプト例:
    function sendApprovalRequest() {
      var doc = DocumentApp.getActiveDocument();
      var url = doc.getUrl();
      var subject = doc.getName() + ' の承認依頼';
      var recipient = Browser.inputBox('承認者のメールアドレスを入力', Browser.Buttons.OK_CANCEL);
      if (recipient === 'cancel') return;
      var body = '以下の文書の承認をお願いします。\n\n' + url;
      GmailApp.sendEmail(recipient, subject, body);
    }
    
  4. スクリプトを保存し、名前を「承認依頼送信」などに変更します。初回実行時には権限の承認が必要です。自分のGoogleアカウントで「許可」をクリックしてください。
  5. カスタムメニューを作成して使いやすくします。スクリプトエディタで以下のようにonOpen関数を追加し、ドキュメントを開いたときにメニューが表示されるようにします。
  6. onOpen関数の例:
    function onOpen() {
      DocumentApp.getUi()
        .createMenu('承認依頼')
        .addItem('送信', 'sendApprovalRequest')
        .addToUi();
    }
    
  7. 再度ドキュメントを開き直すと、メニューバーに「承認依頼」が追加されています。これをクリックし「送信」を選択すると、スクリプトが実行されます。

必要な権限と設定

このスクリプトを動作させるには、以下の権限が必要です。スクリプトの初回実行時に、GmailAppの利用とDocumentAppの利用について許可を求められます。会社のアカウントでは、管理者がGoogle Workspaceのセキュリティ設定で「Gmail API」を無効にしているとエラーになります。その場合、管理者に連絡してスコープの許可を得るか、代替手段を検討します。また、承認者を選ぶ方法として、スクリプト内で固定のメールアドレスリストを使うことも可能です。

失敗パターンとトラブルシューティング

設計時に起こりがちな失敗パターンをいくつか紹介します。事前に把握しておくことで、スムーズな導入が可能です。

リンクが正しく表示されない

スクリプトで取得したURLが正しくない場合があります。GoogleドキュメントのURLはアクセス権限によって異なります。例えば、制限付きのドキュメントは共有設定が適切でないと承認者が開けません。スクリプトでURLを取得する前に、ドキュメントの共有範囲を「リンクを知っている全員」または承認者のアカウントに対して「編集者」または「閲覧者」に設定しておく必要があります。設定しないと、承認者がリンクを開いてもアクセス拒否となります。

メール送信エラー

GmailApp.sendEmailで送信が失敗する主な原因は、1日あたりの送信制限に引っかかることです。Google Workspaceアカウントの送信制限は通常1日1,500件ですが、無料の個人アカウントは100件です。大量の承認依頼を処理する場合は、制限を考慮する必要があります。また、送信先のメールアドレスが無効な場合もエラーになります。スクリプト内でエラーハンドリングを行い、送信失敗時にはログを残す設計にしましょう。

管理者へ確認すべき設定

会社のGoogle Workspace環境でスクリプトを利用する前に、以下の点を管理者に確認してください。

  • Google Apps Scriptの実行が許可されているか。管理コンソールの「アプリ」→「Google Workspace」→「ドライブとドキュメント」→「Google Apps Script」で設定を確認できます。
  • Gmail APIの有効化が必要か。スクリプトがGmailAppを利用する場合、APIが有効になっている必要があります。管理コンソールの「セキュリティ」→「API制御」で確認します。
  • ドメイン全体の送信制限や許可リストに、承認依頼メールの送信元IP(Googleのサーバー)が含まれているか。特に外部の承認者にメールを送る場合、スパム扱いされない設定が必要です。
  • 共有ドライブ内のドキュメントでスクリプトを実行する場合、共有ドライブの権限設定も確認します。コンテナバインドスクリプトは共有ドライブ内では利用できない制限があります(Googleドキュメントに直接紐づくスクリプトのみ)。その場合は、別途スクリプトをスタンドアロンとして作成し、ドキュメントIDを指定する方式に変更します。

よくある質問

Q1: 承認者を複数人に同時送信できますか?
A1: スクリプト内で複数のメールアドレスを配列で指定し、ループ処理でsendEmailを呼び出すことで可能です。ただし、送信制限に注意してください。

Q2: 承認依頼メールの件名や本文をカスタマイズしたいです。
A2: スクリプト内でsubjectやbodyの文字列を動的に生成することで自由に変更できます。文書名や作成者名を変数で組み込むことも可能です。

Q3: モバイル端末からも承認依頼を送りたいです。
A3: Googleドキュメントのモバイルアプリではカスタムメニューが表示されません。その場合は、スプレッドシートなど別のアプリでトリガーを設定するなど、別の設計が必要です。

Q4: 承認者が文書を開いたか確認できますか?
A4: 標準の機能では開封確認はできません。送信後に承認者に返信を依頼するか、別途共有設定の変更通知を利用する方法があります。

まとめ

承認依頼メールに文書リンクを自動で入れる設計は、Google Apps Scriptを利用することで実現できます。手順はシンプルですが、権限設定や送信制限、共有設定の確認など、事前に押さえるべきポイントがいくつかあります。特に会社のGoogle Workspace環境では管理者の設定を確認する必要があります。自動化により業務の効率化が期待できる一方で、セキュリティやトラブルにも注意が必要です。本記事で紹介した手順と注意点を参考に、ご自身の業務に合わせた設計を検討してみてください。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT