GASでGoogleカレンダーのMeet会議を設定した予定・イベントを作成する方法

Googleカレンダーで作成する予定にはビデオ会議サービスのGoogle Meetと連携し、Meet会議を設定可能です。

そこでGoogle Apps Script(GAS)を使って、Google Meetの会議設定されたGoogleカレンダーの予定を作成する方法を解説します。

Googleカレンダー予定にMeet会議を設定可能

Googleカレンダーはスケジュール管理ツールとして多くのユーザーに活用されています。

Googleアカウントを使うことで、GmailなどのGoogleサービスと連携し、色々なユーザーとカレンダーの予定やイベントを共有できます。

さらにリモートワークが普及したことで、Googleカレンダーの予定にビデオ会議ツールのGoogle Meetが設定できるようになりました。

Googleカレンダーの設定項目としてGoogleMeetを設定すると、オンライン会議の予定が作成可能です。

GoogleカレンダーでMeet会議の予定を作成し、チームやグループメンバーに共有することでビデオ会議を簡単に開くことができます。

GASでもMeet会議予定を作成したい

グーグルのスクリプトサービスであるGoogle Apps Script(GAS)では、Googleカレンダーをスクリプト操作可能です。

Googleカレンダーの予定取得や変更、削除といった処理がGASで実行することができます。

GASでのGoogleカレンダーの予定作成などの各種操作は以下の記事でまとめています。

GASでGoogleカレンダーを操作できるとなると、Meet会議が設定されたGoogleカレンダーの予定が作れないか試してみたくなります。

デフォルトのCalendarAppでは設定不可

前述したGoogle Apps Script(GAS)でGoogleカレンダーを操作する方法の解説では、CalendarAppというオブジェクトを利用しています。

このCalendarAppはGASにデフォルトで用意されていて、特に追加設定なしでGoogleカレンダーを操作可能です。

しかし、Googleカレンダーの予定にGoogle Meet会議を設定するのは、CalendarAppでは実行できません。

CalendarAppでは予定の作成ができるものの、予定の件名や時間、色など設定できますが、複雑な設定は不可能です。

それではGoogle Meet会議が設定されたGoogleカレンダーの予定は作成できないかと言えば、実は作成することができます。

それには、GASのサービスに用意されている「Google Calendar API」を使うことでMeet会議付き予定が設定可能です。

GASでMeet会議付きGoogleカレンダー予定の作成方法

実際に、Google Apps Script(GAS)のスクリプトで、Google Meet会議が設定されたGoogleカレンダーの予定を作成する方法を解説します。

先ほどもお伝えした通り、GASサービスで追加可能な「Google Calendar API」サービスを有効化する必要があります。

Google Calendar APIは以下の2Stepで簡単に追加することが可能です。

1.GASスクリプトエディタの左側に用意されたサービスの+マークをクリックします。

Google Apps Script(GAS)のスクリプトエディタのIDEからサービスが追加可能

2.追加サービス一覧の中から「Google Calendar API」を選択し、「追加」ボタンをクリックします。

Google Apps Script(GAS)のスクリプトエディタでGoogle Calendar APIを追加

このように追加すると、スクリプトエディタのサービスにCalendarと表示されます。

Google Apps Script(GAS)のスクリプトでGoogle Calendar APIを追加すると、Calendarと表示

Calendar APIが追加できたら、GASスクリプトエディタに以下のコードを記述します。

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

上記GASスクリプトは、Google Meetの会議が設定されたGoogleカレンダーの予定を作成する処理になっています。

このGoogle Meetの会議URLは、Calendar APIの実行結果であるeventのhangoutlinkを参照すると取得することができます。

関数を実行すると、実行ログにGoogle MeetのURLが表示されています。

Google Apps Script(GAS)でGoogle Calendar APIを使ってGoogle Meet会議が設定された予定を作成するサンプルコードを実行すると、Google MeetのURLがログ出力

さらに、Googleカレンダーにアクセスすると、予定が作成されています。

Google Calendar APIを使ってGoogle Apps Script(GAS)でGoogle Meet付き予定を作成

Googleカレンダーの予定詳細を確認すると、Google Meetが設定されています。

Google Apps Script(GAS)で作成したMeet会議付きGoogleカレンダーの予定作成

先程ログ出力したGoogle MeetのURLと同じURLがセットされています。

Google Meetの会議URLだけ発行したい場合は

先ほどのGoogle Apps Scriptでは、Google Meetの会議が設定されたGoogleカレンダーの予定を作成しました。

ただ、Google Meetの会議URLだけ発行し、Googleカレンダーの予定は不要というケースもあります。

その場合は、Google Calendar APIでMeet会議付きの予定を作成して会議URLを取得したあと、予定を削除すれば解決です。

1回のGAS実行の中で、Googleカレンダーの予定作成と削除を行えば、Google Meetの会議URLを取得するたびに予定が追加されることもありませn。

まとめ・終わりに

今回、Google Apps Script(GAS)で、GoogleカレンダーのMeet会議が設定された予定を作成する方法を紹介しました。

GASではCalendarAppがデフォルトで使えますが、CalendarAppではGoogle Meetの会議の設定ができません。

その代わり、サービスに用意されているGoogle Calendar APIを使うことでGoogle Meet会議を設定した予定を作成できます。

GASで自動的にGoogle Meetの会議予定を設定したい場合や、Meet会議URLを発行したい場合に、試してみてください。