GASでGoogle Meetのビデオ会議URLを発行する方法(CalendarAPI)

Googleのビデオ会議ツールのGoogle Meetの会議URLがGoogle Apps Script(GAS)で発行できると便利です。

そこで、GASのスクリプトでGoogle Meetのビデオ会議URLを生成する方法を解説します。

Google Meetの会議URLをGASで生成したい

リモートワークや在宅勤務が当たり前になった上で、必須のツールがビデオ会議ツールです。

ビデオ会議としてはZoomが有名ですが、グーグルはGoogle Meetを提供しています。

Google Meetは会議URLを共有することで、Chromeブラウザなどでビデオ会議ができます。

通常Google Meetでビデオ会議を開催するための会議URLを発行するのは、主に以下の4パターンです。

  1. Google Meetの画面で作成
  2. Gmailで作成
  3. Googleチャットで作成
  4. Googleドキュメントで会議開始

Google Meetのメリットは、Meetサービスからだけでなく、Googleの各種サービスからMeet会議のURLを生成、会議開始することができます。

ただ、Googleサービスとの連携ということだと、Google Apps Script(GAS)との連携もしたくなります。

GASスクリプトでGoogle Meetの会議URLを発行できると、他のサービスと連携できるようになって便利です。

Google MeetのAPIは存在せず…

Google MeetのAPIがあれば、Google Apps Script(GAS)でMeet会議URLを生成することができます。

そこで、Googleの公式ページでGoogle MeetのAPIについて調べました。

しかし、現時点ではGoogle MeetのAPIというのは用意されていません。

そのため、一般的なAPIによるGoogle Meetの会議URLの発行はGASでは実現不可能です。

Google Calendar APIでMeet会議URLが生成可能

では、Google Apps Script(GAS)のスクリプトによるGoogle Meetの会議URLを発行はできないのでしょうか。

実は、ある方法を使うことでGoogle Meetの会議URLを生成することができます。

それは、Google Calendar APIを使った方法です。

Calendar APIを使えば、GASでGoogleカレンダーの予定を取得したり、予定を作成したりすることができます。

Google Calendar APIを使った予定作成では、予定の設定でMeet会議を設定可能です。

※Google Calendar APIによるMeet会議付き予定をGASで作成する方法は解説しています。

そこで、GASでGoogleカレンダーのMeet会議が設定された予定を作成し、その予定に設定されたMeet会議のURLを発行できます。

Googleカレンダーの予定に設定したMeet会議URLをGASで取得すれば、様々なサービスに応用できます。

GASでGoogle Meetの会議URL発行手順

実際にGoogle Apps Script(GAS)でGoogle Meetの会議URLを発行する手順を解説します。

まず、Google Calendar APIを使って、Meet会議URLを発行するため、GASのスクリプトエディタでCalendarサービスを追加します。

サービスメニューから+マークをクリックし、「Google Calendar API」を選択します。

これで、Calendar APIがGASで利用可能になったので、下記のGASスクリプトを記述します。

//CalendarAPIサービスを使ってMeet会議を発行
function getMeetUrl() {
  //GAS実行ユーザーのGoogleアカウントIDをカレンダーIDとして取得
  const calendarId = Session.getActiveUser().getUserLoginId();
  //GoogleカレンダーでMeet会議が設定されるイベント登録パラメータを設定
  const eventParam = {
    conferenceData: {
      createRequest: {
        conferenceSolutionKey: {
          type: "hangoutsMeet"
        },
        requestId: "123"
      }
    },
    start: { dateTime: "2022-08-10T18:05:00.000+09:00"},
    end: { dateTime: "2022-08-10T19:05:00.000+09:00"},
  };
  //CalendarAPIに対し、Meet会議付き予定を追加
  const event = Calendar.Events.insert(eventParam, calendarId, {conferenceDataVersion: 1});
  //作成したイベントからGoogle MeetURLを表示
  console.log(event.hangoutLink);
  //作成したGoogleカレンダーのイベントは不要なので削除
  Calendar.Events.remove(calendarId, event.id);
}

Google Calendar APIでイベント作成したあと、hangoutLinkのプロパティにMeet会議URLが設定されています。

サンプルコードでは、hangoutLinkプロパティをログ出力しています。

実際にGASでMeet会議URLを発行するサンプルコードを実行すると、URLが実行ログに表示されます。

なお、ログ出力後に、作成したイベントを削除しているので、Googleカレンダーには予定は残っていません。

しかし、Googleカレンダーの予定で設定されたMeet会議は有効なままなので、会議を行うことができます。

このようにGASでGoogle Meetの会議URLを生成することができます。

CalendarAppではMeet会議が設定不可

Google Apps Script(GAS)でMeet会議URLを生成する際の注意点としては、デフォルトで使用できるCalendarAppではMeet会議が設定できない点です。

CalendarAppはシンプルな予定作成はできますが、Meet会議の設定のような複雑な予定は設定できません。

そのため、GASでMeet会議URLを発行したい場合は、Google Calendar APIを使うとおぼえておきましょう。

まとめ・終わりに

今回、Google Apps Script(GAS)でGoogle Meetの会議URLを発行する方法を紹介しました。

現時点でGoogle MeetにはAPIが用意されていないので、APIによる会議URLの生成はできません。

しかし、Google Calendar APIで予定(イベント)を作成時に、Google Meet会議が設定できるので、それを利用すれば、Meet会議URLを発行できます。

GASでMeet会議URLを発行できれば、色々なサービスと連携してMeetURLを共有可能です。

ぜひ、Meet会議をよく利用している場合は、GASによる会議URLの発行を試してみてください。