コーディング レベル: 初級
所要時間: 15 分
プロジェクトの種類: イベントドリブン トリガーによる自動化
目標
- ソリューションの機能について理解する。
- ソリューション内での Apps Script サービスの役割を理解する。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
Google ドキュメントで議題ドキュメントを自動的に作成し、Google カレンダーの会議に添付します。
仕組み
このスクリプトは、議題のドキュメント テンプレートを作成します。カレンダーを更新すると、スクリプトは、所有する予定の説明に「#agenda」が含まれているかどうかを確認します。タグが存在する場合、スクリプトはテンプレートのコピーを作成し、カレンダーの予定に追加して、イベントの参加者と共有します。
Apps Script サービス
このソリューションでは、次のサービスを使用します。
- ドライブ サービス - テンプレート ドキュメントが存在するかどうかを確認し、存在しない場合はテンプレート ドキュメント用の新しいフォルダを作成します。新しい議題ごとにテンプレート ドキュメントのコピーを作成します。
- ドキュメント サービス - 議題テンプレートを作成します。
- カレンダー サービス - 「#agenda」タグが付いた予定をチェックし、予定の説明を更新して、議題のドキュメントへのリンクを追加します。
- ベースサービス -
Session
クラスを使用してユーザーのメールアドレスを取得します。これにより、現在のユーザーのトリガーを構築できます。 - スクリプト サービス - ユーザーのカレンダーに変更があるたびにトリガーを実行します。
前提条件
このサンプルを使用するには、次の前提条件を満たしている必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要となる可能性があります)。
- インターネットに接続できるウェブブラウザ。
スクリプトを設定する
- 下のボタンをクリックして、サンプルの 会議の議題を作成する Apps Script プロジェクトを開きます。
プロジェクトを開く - [概要] をクリックします。
- 概要ページで、[コピーを作成] をクリックします。
- コピーしたプロジェクトの関数プルダウンで、[setUp] を選択します。
- [実行] をクリックします。
- プロンプトが表示されたら、スクリプトを承認します。OAuth 同意画面に [このアプリは確認されていません] という警告が表示された場合は、[詳細] > [{プロジェクト名} に移動(安全でない)] を選択して続行します。
スクリプトを実行する
- Google カレンダーを開きます。
- 新しい予定を作成するか、既存の予定を編集します。
- 説明に
#agenda
を追加して、予定を保存します。 - ドキュメントが共有されたことを知らせるメール通知が届いているか確認します。または、カレンダーを更新して、もう一度予定をクリックして、議題ドキュメントへのリンクを表示します。
すべての参加者に、議題を表示するためのメール通知が届きます。このスクリプトにより、参加者に編集権限が付与されますが、スクリプトを編集して参加者の議題ドキュメントの権限を更新できます。
コードを確認する
このソリューションの Apps Script コードを確認するには、下の [ソースコードを表示] をクリックします。
ソースコードを表示
コード.gs
修正
サンプルは必要に応じて編集できます。以下に、変更可能なオプションをいくつか示します。
参加者の議題ドキュメントの権限を更新する
スクリプトにより、参加者に編集権限が付与されます。権限を表示のみに制限する場合は、コードの次の部分で addEditor
メソッドを addViewer
メソッドに置き換えます。
for (let i in event.getGuestList()) { let guest = event.getGuestList()[i]; newDoc.addEditor(guest.getEmail());
議題ドキュメント テンプレートを編集する
議事録ドキュメント テンプレートを更新する手順は次のとおりです。
- カレンダーの予定で最初の議題を作成したら、Google ドライブを開きます。
- [Agenda Maker - App] というフォルダを開きます。
- Agenda TEMPLATE## ドキュメントを開いて編集します。
寄稿者
このサンプルは、プロダクト管理およびプラットフォーム戦略コンサルタントの Jeremy Glassenberg によって作成されました。Jeremy の Twitter アカウントは @jglassenberg です。
このサンプルは、Google デベロッパー エキスパートの協力を得て Google によって管理されています。