こんにちは、クラウドエース編集部です。

皆さんは普段業務で Google Meet を利用していますか?弊社では、社内外の打ち合わせやイベントで Meet をガンガン使っています! そして、 Meet が日常業務で当たり前の存在になってくると、ある考えが頭に浮かびます。

「APIを利用して会社のワークフローに Meet をシームレスに結合できないだろうか」

Meet をAPIで操作できるとしたら、より使い方の幅が広がります。そもそも Meet はAPIが公開されているのでしょうか。今回のコラムでは、 Google Meet をAPIで操作する方法を調査してみます。

Product Index からAPIを検索してみる

APIがサポートされているか否かは、Googleの「Product Index」から検索することができます。Product Indexにアクセスし、試しに「 google chat 」と入力してみましょう。すると、「 google chat api 」が検索候補で表示されます。「 google chat api 」をクリックし、検索結果を辿っていくと、最終的に Google Chat API の公式ページに遷移することができます。

同じ要領で「 Google Meet 」を検索してみましょう。すると・・・「 Google Meet API 」が検索候補に表示されません。どうやら、現時点では Google Meet のAPIは公開されていないようです。

Google Meet はAPIが提供されていない…しかし希望はある!

「Product Index」で確認した結果、 Google Meet はAPIが公開されていないことがわかりました。しかし・・・まだ希望はあります!皆さんは普段 Google Meet を開始するとき、どのような方法で Meet 会議を作成しますか? Google Workspace (旧 G Suite) ユーザーである場合、 Google カレンダーからイベントを作成し、イベント経由で Meet 会議を立ち上げている方が多いのではないでしょうか。そうです! Google カレンダーによって Meet 会議を生成する方法です!

カレンダーAPIで予定を作成してみる

Google カレンダーのAPIに直接パラメータを設定して実行するのは中々しんどいので、今回は Google API がラッピングされたプログラミング言語である GAS ( Google Apps Script )を利用して、カレンダーAPIからMeet 会議が生成できるか検証してみます。 GAS で Meet 会議を作成することができれば、 他の言語のクライアントライブラリでも同様のことができると考えて間違いありません。

ただ予定を作成するだけでは Meet 会議は生成されない

まずは GAS のページに接続します。

接続後、 Google カレンダーAPIの実行を許可しましょう。ヘッダメニューから「リソース」-「 Google の拡張サービス…」を選択し、以下ポップアップ画面上で Google カレンダーAPIを有効化してください。

その後、以下コードをコピペして、▶︎ボタンでプログラムを実行します。

function createEvent() {
var calendarId = 'primary';
var detail = {
summary: '会議テスト',
location: 'リモート',
description: 'Meet会議を作成します',
start: {
dateTime: new Date('2020/7/17 10:00:00').toISOString()
},
end: {
dateTime: new Date('2020/7/17 12:00:00').toISOString()
},
};
var event = Calendar.Events.insert(detail, calendarId);
Logger.log('Event ID: ' + JSON.stringify(event));
}

プログラムを実行すると、以下の通り、 Google カレンダーに予定が作成されます。しかし、「 Google Meet に参加する」ためのボタンとURLが表示されません。どうやら、 Meet 会議を生成するためには何か条件があるようです。

参加者を指定すると Meet 会議が生成される!

とりあえず、もう一度 GAS のページに接続します。

次に、先ほど実行したコードに「イベント参加者(attendees)」を追加してみます(※1)。

※1 本コードを実際に実行する場合、attendees.emailの値は任意の Google / Google Workspace アカウントに書き換えてください。

function createEvent() {
var calendarId = 'primary';
var detail = {
summary: '会議テスト',
location: 'リモート',
description: 'Meet会議を作成します',
start: {
dateTime: new Date('2020/7/17 10:00:00').toISOString()
},
end: {
dateTime: new Date('2020/7/17 12:00:00').toISOString()
},
attendees: [
{email: 'xxxx@gmail.com'},
{email: 'yyyy@gmail.com'}
]
};
var event = Calendar.Events.insert(detail, calendarId);
Logger.log('Event ID: ' + JSON.stringify(event));
}

もう一度コードを実行してみると・・・今度はイベント詳細に「 Google Meet に参加する」ボタンと会議のURLが表示されました。

どうやら、イベントを作成するときに参加者を指定しないと Meet 会議は生成されないようです。

生成したイベントから Meet のURLを取得する

実は先ほど実行したコードに「作成したイベントの中身をログとして出力する」コードを挿入していました。

Logger.log('Event ID: ' + JSON.stringify(event));

作成したイベント情報の中に Meet 会議のURLが含まれているか確認してみましょう。先ほどコードを実行した GAS のコンソール上で「表示」-「ログ」を選択します。

すると、以下の通り、イベント情報がJSONで出力されていることがわかります。

JSONを整形して、もう少し見やすくしてみましょう。

{
"summary": "会議テスト",
"description": "Meet会議を作成します",
"hangoutLink": "https://meet.google.com/xua-bdno-pbp",
"location": "リモート",
"status": "confirmed",
"conferenceData": {
"conferenceSolution": {...},
"conferenceId": "xua-bdno-pbp",
"signature": "ADR/mfPbLDUaSVAUvCkfT+cK/NkZ",
"entryPoints": [
{
"uri": "https://meet.google.com/xua-bdno-pbp",
"entryPointType": "video",
"label": "meet.google.com/xua-bdno-pbp"
}
],
"createRequest": {...}
},
"attendees": [...],
...
}

hangoutLink と conferenceData.entryPoints の配列内に Meet のURLが含まれていることがわかります。現状はどちらかのパラメータで Meet のURLが取得できるようですが、「ハングアウト」は旧名称であるため、hangoutLinkについてはいずれ削除される可能性があるかもしれません。

Google カレンダーAPIを利用して Google Meet をフル活用しよう!

今回の検証で、 Google カレンダーAPIを利用すれば、 Meet 会議の生成を自動化できることがわかりました。カレンダーAPIをうまく活用すれば、自動生成した Meet 会議のURLをSlackに通知したり、顧客からのアクションをトリガーに Meet 会議のURLを自動案内したりできるようになります。また、今回の検証では GAS を利用しましたが、(前述した通り)全く同じことを他のプログラミング言語に対応したクライアントライブラリで実装することも可能です。

是非 Google カレンダーAPIを利用して Google Meet をより便利に活用しましょう!

Google Workspace に関するお問い合わせは吉積情報株式会社まで!!

今回のコラム記事は、弊社グループ会社・吉積情報株式会社のエンジニアによって執筆されました。吉積情報株式会社は、 Google Workspace の拡張開発において数多くの実績を誇ります。 Meet に限らず Google Workspace に関連した拡張開発についてはコチラのフォームからお問い合わせください。

また、吉積情報株式会社は Google Meet やドライブの活用方法についてのウェビナーを定期開催しています。このウェビナーでは、 Google Workspace の専門資格を保持する営業担当が Google Meet やドライブの概要や事例をご紹介します。 ウェビナーの詳細についてはコチラをご確認ください。

また、 Google Meet も含めた Google Workspace を活用したテレワークに興味がある場合は以下バナーから資料ダウンロードを行なってください。
「Google Cloud™️ で簡単に今すぐできる働き方改革!〜テレワーク編〜」

合わせて読みたい