Googleドキュメントでファイルを共有する際、有効期限を設定できることをご存知でしょうか。しかし、期限が近づいても通知が来ないため、うっかり失効してしまうことがあります。この記事では、共有設定での有効期限の設定方法と、Apps Scriptを使った自動失効通知と事前案内の実装方法を解説します。これらの手順を実施すれば、期限前に自動でメールを受け取れるようになります。
【要点】期限付き共有の自動失効通知を実現する3つのステップ
- 共有設定の「有効期限」オプション: ファイルごとにアクセスを自動失効させる日付を設定します。
- Apps Scriptのスクリプト: 期限をチェックして通知メールを送信するカスタム関数を作成します。
- トリガーの設定: スクリプトを定期的に実行して自動化します。
ADVERTISEMENT
目次
なぜ自動失効通知が必要なのか
Googleドキュメントでは、共有リンクに有効期限を設定することで、指定した日時に自動的にアクセスを失効させられます。しかし、標準機能では期限が近づいても所有者や編集者に通知が届きません。そのため、重要な共有リンクが突然使えなくなるトラブルが発生します。この問題を解決するには、自分で通知の仕組みを構築する必要があります。特に、外部パートナーとの期限付き共有では、失効前に連絡を入れておきたいケースが多いでしょう。
共有設定で有効期限を設定する手順
まず、Googleドキュメントの標準機能を使って共有リンクに有効期限を設定します。この設定自体は簡単で、数クリックで完了します。
- 共有ダイアログを開く
Googleドキュメントを開き、右上の「共有」ボタンをクリックします。 - 「リンクのコピー」をクリック
「リンクを知っている全員」などアクセス権を選択し、その下にある「リンクのコピー」をクリックします。 - 「有効期限」を設定
表示されたメニューで「有効期限」オプションをオンにし、カレンダーから日付を選択します。この日付を過ぎるとリンクは無効になります。 - 保存して完了
設定後、「共有」をクリックして変更を保存します。これで期限付き共有の準備が整いました。
Apps Scriptで自動失効通知を実装する手順
次に、Apps Scriptを使って期限前に通知メールを送る仕組みを作成します。Googleドライブのファイルリストを取得し、各ファイルの共有許可と有効期限をチェックして、期限が近づいているものを抽出しメールで通知します。
1. スクリプトエディタを開く
- Googleドキュメントを開く
通知機能を追加したいドキュメントを開き、メニューから「拡張機能」→「Apps Script」を選択します。 - 新しいプロジェクトを作成
スクリプトエディタが開いたら、デフォルトのコードを削除し、以下のコードを貼り付けます。
2. 通知スクリプトを作成する
- コードを記述
次のコードをコピーして貼り付けます。
function sendExpirationNotifications() {
var files = DriveApp.getFiles();
var now = new Date();
var threshold = 3; // 通知を送る残り日数
while (files.hasNext()) {
var file = files.next();
var sharing = file.getSharingAccess();
if (sharing == DriveApp.Access.ANYONE_WITH_LINK || sharing == DriveApp.Access.DOMAIN_WITH_LINK) {
var expiration = file.getExpirationTime();
if (expiration) {
var diffDays = Math.floor((expiration - now) / (1000*60*60*24));
if (diffDays <= threshold && diffDays >= 0) {
var subject = file.getName() + ' の共有期限が近づいています';
var body = 'ファイル「' + file.getName() + '」の共有リンクの期限は ' + expiration + ' です。\n\n' +
'残り ' + diffDays + ' 日です。必要に応じて期限を延長してください。\n\n' +
'ファイルURL: ' + file.getUrl();
MailApp.sendEmail(Session.getActiveUser().getEmail(), subject, body);
}
}
}
}
}
- スクリプトを保存
プロジェクト名を「ExpirationNotifier」などに変更し、保存アイコンをクリックします。
3. トリガーを設定して自動実行する
- トリガーページを開く
左側のメニューで「トリガー」アイコン(時計)をクリックし、「トリガーを追加」をクリックします。 - トリガーを構成
「実行する関数」に「sendExpirationNotifications」を選択します。「時間ベースのトリガー」を選び、間隔を「1日おき」などに設定します。保存して承認を求められたら許可します。
ADVERTISEMENT
注意点とよくある失敗
権限の承認を忘れる
スクリプトを初めて実行する際、Googleドライブとメールへのアクセス許可が必要です。承認手続きを完了しないとスクリプトは動作しません。必ず最初に手動で関数を実行して承認を促してください。
トリガーの実行間隔を適切に設定する
通知は期限の3日前に送られるようコードで指定しています。トリガーを毎日実行すれば、期限が3日以内になったファイルに対して毎日通知が届きます。間隔が長すぎると、通知が間に合わない場合があります。
ファイルの共有設定が正しいか確認する
スクリプトは「リンクを知っている全員」または「組織内のリンクを知っている全員」で共有され、かつ有効期限が設定されたファイルのみを対象としています。特定のユーザーのみへの共有では動作しません。必要に応じて条件を変更してください。
標準機能とApps Scriptの比較
| 項目 | 標準機能 | Apps Script |
|---|---|---|
| 有効期限の設定 | 可能 | 間接的(スクリプトで設定は不可) |
| 自動失効 | 自動で行われる | 不要(標準機能に依存) |
| 事前通知 | 不可 | 可能(メール送信) |
| カスタマイズ性 | 低い | 高い |
| 難易度 | 簡単 | 中程度 |
まとめ
Googleドキュメントの共有リンクに有効期限を設定しても、標準では失効前の通知は届きません。しかし、この記事で紹介したApps Scriptを使えば、期限が近づいたファイルを自動で検出し、メールで通知することが可能です。まずは共有設定で有効期限を設定し、次にスクリプトを導入してトリガーを設定してください。これにより、重要な共有が突然切れるトラブルを防げます。さらに、通知の条件やメール内容をカスタマイズすれば、より柔軟な運用ができるでしょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleドキュメントの人気記事ランキング
- 【Googleドキュメント】上付き・下付き文字の入力方法!ショートカットと手動切替
- 【Googleドキュメント】ルビ(ふりがな)を振る方法!代替ツールとアドオンの活用
- 【Googleドキュメント】文字間隔(字間)を調整する方法!カーニングの代替手段
- 【Googleドキュメント】図表番号の自動採番!Figure 1, Table 2 の連番
- 【Googleドキュメント】Docs→Wordへエクスポート!docx出力での書式維持
- 【Googleドキュメント】縦書き表示を実現する方法!代替ツールと回避策
- 【Googleドキュメント】インデントを正確に調整する方法!ルーラーとタブストップの使い方
- 【Googleドキュメント】罫線を縦・横に挿入する方法!Wordの罫線機能との比較
- 【Googleドキュメント】共有後に閲覧履歴を確認!誰がいつ開いたかの追跡
- 【Googleドキュメント】共有先の名前が表示されない時の対処!匿名動物アイコンの正体
