コーディング レベル: 初級
所要時間: 15 分
プロジェクト タイプ: イベント ドリブン トリガーによる自動化
目標
- ソリューションの機能を理解します。
- ソリューション内で Apps Script サービスが何を行うかを理解します。
- スクリプトを設定します。
- スクリプトを実行します。
このソリューションについて
Google ドキュメントで議事録ドキュメントを自動的に作成し、Google カレンダーの会議に添付します。

仕組み
このスクリプトは、議題のドキュメント テンプレートを作成します。カレンダーを更新すると、スクリプトは、所有しているイベントの説明に「#agenda」が含まれているかどうかを確認します。タグが存在する場合、スクリプトはテンプレートのコピーを作成し、カレンダーの予定に追加して、予定の参加者と共有します。
Google Apps Script サービス
このソリューションでは、次のサービスを使用します。
- Google ドライブ サービス: テンプレート ドキュメントが存在するかどうかを確認します。存在しない場合は、スクリプトによってテンプレート ドキュメント用の新しいフォルダが作成され、新しい議題ごとにテンプレート ドキュメントのコピーが作成されます。
- ドキュメント サービス: 議題テンプレートを作成します。
- カレンダー サービス: 「#agenda」タグが付いた予定をチェックし、予定の説明を議事録ドキュメントへのリンクで更新します。
- ベースサービス:
Sessionクラスを使用してユーザーのメールアドレスを取得します。これにより、現在のユーザーのトリガーが作成されます。 - スクリプト サービス: ユーザーのカレンダーが変更されるたびに実行されるトリガーを作成します。
前提条件
このサンプルを使用するには、次の前提条件を満たしている必要があります。
- Google アカウント(Google Workspace アカウントの場合、管理者の承認が必要となる可能性があります)。
- インターネットにアクセスできるウェブブラウザ。
スクリプトを設定する
次のボタンをクリックして、サンプル Make an agenda for meetings Apps Script プロジェクトを開きます。
[概要] をクリックします。
概要ページで、[コピーを作成]
をクリックします。
コピーしたプロジェクトの関数プルダウンで、[setUp] を選択します。
[実行] をクリックします。
メッセージが表示されたら、スクリプトを承認します。<<../_snippets/oauth.md>>
スクリプトを実行する
- カレンダーを開きます。
- 新しい予定を作成するか、既存の予定を編集します。
- 説明に
#agendaを追加して、予定を保存します。 - ドキュメントが共有されたことを知らせるメールが届いていないか確認するか、カレンダーを更新してイベントをもう一度クリックすると、議題ドキュメントへのリンクが表示されます。
参加者全員に、議題を表示するためのメール通知が届きます。このスクリプトでは、参加者に編集権限が付与されますが、スクリプトを編集して参加者の議題ドキュメントの権限を更新できます。
コードを確認する
このソリューションの Apps Script コードを確認するには、[ソースコードを表示] をクリックします。
ソースコードを表示
コード.gs
</section>
修正
サンプルは、必要に応じて自由に編集できます。以下に、変更可能なオプションをいくつか示します。
参加者の議題ドキュメントの権限を更新する
スクリプトは、参加者に編集権限を付与します。権限を閲覧のみに制限する場合は、コードの次の部分で 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 が管理しています。