見出し画像

【組織のAI活用#221】Google Meetの録画・文字起こし・要約を共有ドライブへ自動コピーするGAS

こんにちは!寺田です。

現在は、デジタル関連会社のAI推進者などのAI活用者のコミュニティである「AI Digital Community (ADC)」の代表理事や、顧客事業の「×AI化」をサポートするFURIKAKE Partners(株)と組織のAI活用を支援するプロダクトを提供するAI Portalize(株)の代表取締役を務めており、様々な側面から組織のAI活用をサポートしています!

Google Meetで録画を行うと、録画した本人(主催者や共同主催者)のマイドライブに「動画の録画ファイル」「文字起こし」「メモ・要約」が自動保存されます。便利な機能ですが、保存先が個人のマイドライブであるため、そのままではチームから見えず、退職や異動でアクセスできなくなるリスクもあります。
本記事では、これらのファイルを共有ドライブへ自動コピーするGoogle Apps Script(GAS)を、設定手順からコード全文まで通しで解説します。

また、コピーしたファイルをもとに以前別記事で記載したGoogle Workspace Studioで要約や担当・期限付けなども自動か知ってみてください。


仕組みの全体像

まず前提を整理します。

  • Meetで録画を行うと、録画・文字起こし・メモ(要約)は、録画を開始した主催者・共同主催者のマイドライブ内「Meet Recordings」フォルダに自動保存されます。

  • 録画はMP4ファイル、文字起こしとメモはGoogleドキュメントとして保存され、ファイル名には会議名と日時が含まれます。

  • 今回作るGASは、「Meet Recordingsフォルダを定期的にチェックし、まだコピーしていないファイルを共有ドライブの指定フォルダへコピーする」というシンプルなものです。時間主導型トリガーで自動実行させます。

なお、文字起こしとメモは会議中にそれぞれの機能をオンにした場合に生成されます。組織の管理設定によっては機能が無効化されていることもあるため、まだ使ったことがない場合は一度手動で録画して、マイドライブにファイルが保存されることを確認しておくとスムーズです。

事前準備:コピー先フォルダのIDを取得する

1. 共有ドライブ内に、コピー先となるフォルダ(例:「Meet録画アーカイブ」)を作成します。

2. そのフォルダをブラウザで開き、URLの末尾を確認します。「https://drive.google.com/drive/folders/」の後ろに続く文字列がフォルダIDです。これを控えておきます。

3. スクリプトを実行する本人が、その共有ドライブに対して「投稿者」以上の権限を持っていることを確認してください。ファイルを追加できる権限がないとコピーに失敗します。

GASプロジェクトの作成

1. ブラウザで script.google.com を開き、「新しいプロジェクト」をクリックします。


2. プロジェクト名を「Meet録画の共有ドライブコピー」など分かりやすい名前に変更します。

3. エディタに最初から入っているコードをすべて削除し、次のコードを貼り付けます。

コード全文

以下をそのまま貼り付け、1行目のフォルダIDだけ自分の環境に書き換えてください。

// ======== 設定(ここだけ書き換える) ========
const SHARED_FOLDER_ID = 'ここに共有ドライブ側のフォルダIDを貼り付け';
const SOURCE_FOLDER_NAME = 'Meet Recordings';

// メイン関数:Meet Recordings内のファイルを共有ドライブへコピー
function copyMeetFilesToSharedDrive() {
  const folders = DriveApp.getFoldersByName(SOURCE_FOLDER_NAME);
  if (!folders.hasNext()) {
    console.log('「' + SOURCE_FOLDER_NAME + '」フォルダが見つかりません。まだ録画が保存されていない可能性があります。');
    return;
  }
  const sourceFolder = folders.next();
  const targetFolder = DriveApp.getFolderById(SHARED_FOLDER_ID);

  const files = sourceFolder.getFiles();
  let copiedCount = 0;
  while (files.hasNext()) {
    const file = files.next();
    // コピー先に同名ファイルがあればコピー済みとみなしてスキップ
    if (isAlreadyCopied(targetFolder, file.getName())) {
      continue;
    }
    file.makeCopy(file.getName(), targetFolder);
    copiedCount++;
    console.log('コピーしました: ' + file.getName());
  }
  console.log('処理完了。今回コピーしたファイルは ' + copiedCount + ' 件です。');
}

// コピー済み判定:コピー先フォルダに同名ファイルが存在するか
function isAlreadyCopied(folder, fileName) {
  return folder.getFilesByName(fileName).hasNext();
}

コードのポイントを補足します。

  • 重複防止は「コピー先に同名ファイルがあるか」で判定しています。Meetのファイル名には会議名と日時が入るため、実用上はこの方式で十分機能し、記録用の管理データを別途持たない分、壊れにくい作りになります。

  • 動画ファイルのコピーはGoogleドライブのサーバー側で行われるため、ファイルサイズが大きくてもダウンロードやアップロードの待ち時間は発生しません。

初回実行と権限の承認

1. エディタ上部の関数選択で「copyMeetFilesToSharedDrive」を選び、「実行」をクリックします。


2. 初回は「承認が必要です」と表示されるので、自分のアカウントを選択して許可します。「このアプリはGoogleで確認されていません」と表示された場合は、「詳細」→「(プロジェクト名)に移動」から進みます(自分で作ったスクリプトなので問題ありません)。


3. 実行後、下部の実行ログに「コピーしました: 〜」と表示され、共有ドライブ側にファイルが現れれば成功です。

トリガー設定で自動化する

手動実行で動作を確認できたら、定期実行を設定します。

1. 画面左のメニューから時計アイコンの「トリガー」を開きます。


2. 右下の「トリガーを追加」をクリックします。

3. 実行する関数:copyMeetFilesToSharedDrive/イベントのソース:時間主導型/時間ベースのタイマー:1時間おき、を選んで保存します。

これで、会議後にマイドライブへ録画が保存されると、最大1時間以内に共有ドライブへ自動コピーされる仕組みが完成です。会議の頻度が少なければ「1日1回(深夜帯)」でも十分です。

カスタマイズ例:月別フォルダに整理する

コピー先を「2026-07」のような月別サブフォルダに分けたい場合は、次の関数を追加します。

// 月別サブフォルダ(なければ作成)を返す
function getMonthlyFolder(parent, date) {
  const name = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy-MM');
  const it = parent.getFoldersByName(name);
  return it.hasNext() ? it.next() : parent.createFolder(name);
}

メイン関数のコピー処理を、file.makeCopy(file.getName(), getMonthlyFolder(targetFolder, file.getDateCreated())) のように書き換えれば、ファイルの作成月ごとに自動で整理されます(重複判定も月別フォルダに対して行うよう合わせて変更してください)。

このほか、「ファイル名に特定の会議名を含むものだけコピーする」「コピー後にSlackやチャットに通知する」といった拡張も同じ構造の上に足していけます。

注意点

  • このスクリプトが対象にできるのは「実行した本人のマイドライブ」だけです。録画を行う主催者が複数いる場合は、それぞれのアカウントで同じスクリプトを設定してもらう必要があります。

  • コピーであるため、マイドライブ側の元ファイルはそのまま残ります。個人ドライブの容量が気になる場合は、共有ドライブへの反映を確認した上で古いファイルを整理する運用を決めておきましょう。

  • 録画データには会議の発言内容がそのまま含まれます。コピー先の共有ドライブのメンバー範囲が適切か(見せてはいけない人が入っていないか)を必ず確認してください。

  • フォルダ名「Meet Recordings」は環境によって表記が異なる場合があります。マイドライブで実際のフォルダ名を確認し、コード2行目のSOURCE_FOLDER_NAMEを合わせてください。

毎回ファイルから文字お越しをコピペしなくていいように

Meetの録画・文字起こし・要約は「個人のマイドライブに埋もれる」のが最大の弱点です。数十行のGASと1時間おきのトリガーだけで、会議資産が自動的にチームの共有ドライブへ集まる仕組みが作れます。議事録の共有漏れ防止や、過去会議の検索性向上、さらにはNotebookLM等への活用にもつながる土台になるので、ぜひ設定してみてください。

ぜひ、まずは手動での1回実行から、試してみていただければなと思います!



読んでいただきありがとうございました!
過去のAI関連記事はこちらです!

ちなみに、組織におけるAIの推進についてまとめた本も出版させていただいております。もしよければご覧ください。


<自己紹介>
直近までは、電通グループに属する約1400人・20社以上の事業会社群で構成されるCARTA HOLDINGSにて、全社横断のAI推進室で組織全体のAI活用推進を担いつつ、法人向けの「生成AI&デジマ人材」研修サービスであるD-Marketing Academyの代表取締役も兼務し、大手企業からスタートアップまで、数百社にわたるAI人材育成を支援してきました。

現在は、デジタル関連会社のAI推進や担当コミュニティである「AI Digital Community (ADC)」の代表理事や、顧客事業の「×AI化」をサポートするFURIKAKE Partners(株)と組織のAI活用を支援するプロダクトを提供するAI Portalize(株)の代表取締役を務めており、様々な側面から組織のAI活用をサポートしています!

<略歴>
2005年 5月 大学在学時にEC事業を開始
2007年 5月 (株)サイバーエージェントに入社し新規事業の立ち上げに携わる
2011年 10月 (株)VOYAGE GROUPにてKDDIとの協業事業を行う(株)Flesselを設立し代表取締役に就任
2015年 11月 ECコンサルティング事業を行う(株)JSコンサルティングの代表取締役へ就任
2018年 4月 東証一部プライム企業Hamee(株)にJSコンサルティングをM&Aし、代表取締役を継続
2019年 5月 Hamee(株)の執行役員に就任し、Hameeグループの新規事業領域を管轄
2021年 2月 D2C支援を行うTHE CHOSEN ONE(株)の顧問に就任
2021年 3月 アパレルD2C事業を行う(株)NAAFYの取締役に就任
2021年 4月 D-Marketing Academy(株)を設立し代表取締役に就任
2023年 1月 (株)CARTA HOLDINGSにD-Marketing AcademyをM&Aし、代表取締役を継続
2025年 3月 CARTA HOLDINGSグループ全体のAI活用促進を行うAI推進室を兼務開始
2026年 1月 生成AIに関しての顧問を行うFURIKAKE Partners(株)を設立し、代表取締役に就任
2026年 1月 組織の生成AIプラットフォームサービスAI Portalize(株)を設立し、代表取締役に就任
2026年 1月 デジタル関連のAI活用企業コミュニティ「AI Digital Community(ADC)」を設立し代表理事に就任

いいなと思ったら応援しよう!