本文へ移動
技術を、自社の仕事に。
判断と実行を助けるメディア

記事を検索

Meet APIで共同主催者を事前登録 v2正式版の注意点

目次 · 6項目

Apps ScriptやGoogleカレンダーの連携で、毎週の定例会議や取引先との打ち合わせを自動で作っている。ところが共同主催者は会議が始まってから手で付けるしかなく、主催者が遅れると入室の承認や画面共有の許可で会議が止まる。この「共同主催者を事前に決めておけない」問題に、Google Meet REST APIの正式版(v2)が答えを出しつつあります。

2026年10月4日に、Meet APIのDiscovery文書(v2、revision 20260928)と、Googleが公開しているAPI定義ファイル(googleapis/googleapis)を直接取得して読みました。10月5日には、Meet APIのリリースノートとメンバー管理の開発者向けガイドも確認しています。会議スペースのメンバーを扱う6つのメソッドがv2に入り、役割として共同主催者(COHOST)を指定できます。一方で、どのエディションで使えるか、カレンダーで作った会議にそのまま使えるかは、確認した資料には書かれていません。本記事は資料調査と編集部の提案で、認証情報がないためAPIの実際の呼び出しは行っていません。

v2に入った6つのメソッドと上限

Discovery文書の spaces.members には、次の6つのメソッドがあります。必要なOAuthスコープは meetings.space.created で、取得(get)と一覧(list)だけは meetings.space.readonly でも呼べます。

メソッド用途スコープ原文にある上限・既定
createメンバーを1人登録createdemail が作成時に必須
get1人を取得created / readonly—
list一覧を取得created / readonly既定250件、最大500件
patch1人の役割を変更createdupdateMask で項目を指定
batchUpdate同じスペースの複数人を一括変更created1回で最大500人
delete登録を削除created—

list の pageSize は、500を超える値を指定しても500に切り詰められ、「Maximum might change in the future.」と上限が今後変わり得ることも書かれています。

以前はv2betaのDeveloper Previewだった

googleapis/googleapisの履歴を見ると、2026年9月9日のコミット(62cbe96)で、メンバーの管理機能が「Meet v2 GA API」に追加されています。このコミットの直前のv2beta定義では、作成・取得・一覧・削除の4つに「[Developer Preview]」の表記がありました。同じコミットでv2betaからこの表記が外れ、変更(patch)と一括変更(batchUpdate)が加わり、一覧の既定件数も25件から250件に変わっています。

Meet APIのリリースノートには、2026年9月11日付で「spaces.members リソースが一般提供(Generally Available)になった」と書かれています。会議の前でも最中でも、メンバーの管理と共同主催者の割り当てができるという説明です。GoogleのGoクライアント(google-api-go-client)でも、9月16日の自動生成コミットでmeet/v2のrevisionが20260421から20260910に上がり、members が加わりました。

指定できる役割は「共同主催者」だけ

Member リソースが持つ項目は name(リソース名)、email、role の3つです。role の値は2つしかありません。

  • COHOST: Discovery文書の説明は「Co-host role.」の1行です。開発者向けガイドには、会議中に会議を一緒に管理できるが、自動の記録類(録画・文字起こしなど)の設定と、主催者による管理(moderation)の設定は変えられない、と書かれています
  • ROLE_UNSPECIFIED: 役割を指定しない状態です。説明によると、参加した時点で会議の設定に応じて「contributor(参加者)」か「viewer(閲覧のみ)」のどちらかになります

つまりAPIで事前に決められるのは「共同主催者にするかどうか」だけです。閲覧のみの参加者を個別に指定する値はv2にはありません。

もう1つ大事なのが Member の説明文の「These users can join the space without knocking.」です。メンバーとして登録した人は、ノック(入室リクエスト)なしで入れます。編集部の読み方では、登録は「共同主催者の指定」であると同時に「入室の事前許可」でもあります。入室承認の設計はGoogle Meetの参加者承認機能の記事で整理しています。

定義ファイルには、役割と会議の管理機能の関係も書かれています。SpaceConfig の Moderation(主催者による管理)の説明には、管理をオンにすると共同主催者の管理(co-host management)などが使えるとあります。また、既定で閲覧のみで参加させる設定(defaultJoinAsViewerType)には、Member で役割を明示した人はその役割で参加するという注記があります。

Meet APIで会議スペースのメンバーを登録できる経路の図。上段はアプリがspaces.createで作ったスペースに、meetings.space.createdスコープでmembers.createまたはbatchUpdateを行い、登録者がノックなしで共同主催者として入室する流れで、Discovery文書の記述で確認できる。下段はGoogleカレンダーのcreateRequestで作られた会議で、会議コードからスペースを参照できるが、メンバーを登録できるかは未確認と示している

カレンダーやApps Scriptで作った会議に使えるか

ここが、定例会議を自動化している担当者にとって一番の確認点です。メンバーを登録・変更・削除するメソッドが求めるスコープは meetings.space.created で、その説明は「…your Google Meet conferences created by the app.」で、対象は「そのアプリが作った会議」です。

GoogleカレンダーAPIで予定に会議を付ける場合、conferenceData.createRequest で会議を作ります。カレンダーAPIのDiscovery文書によると、作られた会議の conferenceId は会議コード(例: aaa-bbbb-ccc)です。Meet APIの spaces.get は spaces/{meetingCode} の形で会議コードからスペースを引けます。ただし、カレンダー経由で作られた会議が「アプリが作った会議」として扱われ、メンバーを登録できるのかは、取得できた資料には書かれていません。図の下段を「未確認」としたのはこのためです。

作り方メンバー登録注意点
Meet APIの spaces.create で作り、URLを予定に載せるスコープの説明上、対象になる予定と会議を自分で結び付けて管理する
カレンダーの createRequest で作る未確認会議コードは長期保存しない
人が手でカレンダーから作った会議未確認アプリが作った会議ではない

会議コードは長期保存しないよう spaces.get の説明に書かれています。一般に最後の利用から365日で失効し、別の会議に再利用されることもあるため、台帳には spaces/{space} の形のリソース名を保存します。カレンダーAPI側も、同じ会議情報を複数の予定で使い回すと意図しない人に会議の詳細が見える恐れがあると警告し、予定ごとに createRequest で新しい会議を作るよう求めています。

組み込むときの手順(編集部の提案)

ここからは、Discovery文書の記述をもとにした編集部の提案です。実際の呼び出しはしていないため、エラーの内容や反映のタイミングは確認していません。

  1. 会議の作り方を決める。 確実に対象になるのは、自分のアプリが spaces.create で作ったスペースです。カレンダーで作る運用を続けるなら、検証用のアカウントで登録を試してから広げます
  2. 台帳にリソース名を残す。 spaces.create の応答の name(spaces/...)と、予定のIDを対応させて保存します
  3. 共同主催者を登録する。 email は作成時に必須です
POST https://meet.googleapis.com/v2/spaces/{space}/members
Content-Type: application/json

{
  "email": "cohost@example.com",
  "role": "COHOST"
}
  1. 担当者の交代は一括で反映する。 batchUpdate は同じスペースの最大500人までです。上の階層の updateMask に role を指定すると、各リクエストの role だけが更新されます
  2. 登録内容を照合する。 list は既定で250件ずつ返るため、nextPageToken がなくなるまで取得してから台帳と突き合わせます

既存の自動化に組み込む場合は、スプレッドシートを台帳にしたGASによる自動化の基本の構成を応用できます。開発者向けガイドには、Java・Node.js・Pythonのクライアントライブラリに加えて、Apps Scriptの UrlFetchApp でRESTを直接呼ぶ例が載っています。Apps Scriptの拡張サービス(高度なサービス)で使えるかは確認していません。

組み込む前に知っておきたい落とし穴

  • updateMask に * を指定する。 原文の説明では、* は全項目の更新になり、送らなかった項目は削除されます
  • batchUpdate の階層ごとの指定を食い違わせる。 上の階層を省いて各リクエストだけに updateMask を付けると、未対応としてエラーになります。両方に付けるなら同じ値にします。両方とも省くと、送らなかった項目の削除を含めて全項目が更新されます
  • user 項目を前提にする。 v2betaの Member には、ユーザーIDで指定する user 項目が「[Developer Preview]」付きで残っていますが、v2の Member にはありません。v2では email で指定します。なお、v2のDiscovery文書と開発者向けガイドには既定の返却項目として「name,email,role,user」とあり、定義ファイル(v2)の「name,email,role」と食い違っています。応答に user が含まれるかは、実際に呼んで確かめてください
  • エディションや外部ユーザーの扱いを決めつける。 共同主催者を付けられるエディション、組織外のアドレスを共同主催者にできるか、一度に登録できる総人数は、Discovery文書・定義ファイル・開発者向けガイドのどれにも書かれていません
  • 同じ会議で自動メモや録画も設定する。 同じv2の更新で、SpaceConfig に録画・文字起こし・自動メモの自動開始の設定も入りました。これらの設定は共同主催者には変えられないため主催者側で決めておきます。自動メモの既定値は組織の設定でも変わるため、Meetの自動メモの既定変更の記事とあわせて確認します

まずは、いま自動で作っている会議が「アプリが作った会議」かどうかを確かめてください。カレンダー経由で作っているなら、検証用アカウントで members.create を1回呼び、通るかどうかを見てから、作り方を変えるかを決めるのが安全です。

2026年10月4日に、Meet APIのDiscovery文書(v2、revision 20260928)、googleapis/googleapisのMeet定義ファイル(v2・v2beta、commit 62cbe96とその直前)、google-api-go-clientの履歴、GoogleカレンダーAPIのDiscovery文書を直接取得して照合しました。10月5日にMeet APIのリリースノート(9月11日の一般提供)と、メンバー管理・認証の開発者向けガイドを確認しています(資料調査)。手順と落とし穴は編集部の提案です。認証情報がないためAPIの呼び出しは実施しておらず、対象エディション、カレンダーで作った会議への適用、Apps Scriptの拡張サービスでの対応状況は未確認です。

会議の自動作成やGoogle Workspaceの権限設計の見直しは、グリームハブのIT・Google Workspace 無料相談で承っています。会議の作り方や外部とのやり取りの多さによって進め方が変わるため、お問い合わせからご相談ください。

参考資料

この記事を共有XFacebook
鈴木 翔

技術の可能性に魅了され、学生時代からプログラミングとデジタルアートの分野に深い関心を持つ

この記事のテーマを、自社の次の一歩へ

自社に合う、Workspaceの進め方を。

移行するデータ、共有ルール、管理体制を整理し、導入から日々の運用までの進め方を考えます。

  • 移行と初期設定
  • 共有・権限の整理
  • 管理体制
Workspaceの導入・運用を相談する

構想段階からご相談いただけます。この記事の情報を相談フォームに引き継ぎます。

最新記事をメールで受け取る