このガイドでは、Google Meet REST API を使用して、過去の会議に参加した参加者やアクティブな会議に参加している参加者の詳細と、セッション情報を取得する方法について説明します。
参加者とは、通話に参加しているユーザー、コンパニオン モードを使用しているユーザー、閲覧者として視聴しているユーザー、通話に接続されている会議室デバイスのことです。ユーザーごとに 1 つの participants リソースがあります。
参加者セッションは、通話に参加する参加者とデバイスのペアごとに作成される一意のセッション ID です。セッションごとに 1 つの participantSessions リソースがあります。参加者が同じ参加者とデバイスのペアから同じ通話に複数回参加した場合、それぞれに一意のセッション ID が割り当てられます。
会議スペースの所有者または参加者は、participants リソースと participantSessions リソースの両方で get メソッドと list メソッドを呼び出して、参加者のレコードを取得できます。
ユーザー認証情報を使用して認証と認可を行うと、Google Meet アプリはユーザーデータにアクセスし、認証されたユーザーの代わりにオペレーションを実行できます。ドメイン全体の委任で認証すると、ユーザーごとに同意を求めることなく、アプリケーションのサービス アカウントがユーザーのデータにアクセスすることを承認できます。
参加者
以降のセクションでは、会議レコードの参加者に関する情報を取得する方法について詳しく説明します。
participants リソースは user フィールドと統合されます。user は、次のいずれかのオブジェクトになります。
signedinUserは次のいずれかです。パソコン、モバイル デバイス、コンパニオン モードから参加しているユーザー。
会議室デバイスで使用されるロボット アカウント。
anonymousUserは、Google アカウントにログインしていない未確認のユーザーです。phoneUserは、Google アカウントでログインしていないため、ユーザーの身元が不明な電話からダイヤルインしているユーザーです。
3 つのオブジェクトはすべて displayName を返しますが、signedinUser は Admin SDK API および People API と相互運用可能な一意の user ID も返します。形式: users/{user}。People API で user ID を使用する方法について詳しくは、People API を使用して参加者の詳細を取得するをご覧ください。
参加者の詳細を取得する
特定の参加者の詳細を取得するには、participants リソースで get メソッドを使用します。conferenceRecords/{conferenceRecord}/participants/{participantRecord} の形式で name パスパラメータを設定します。
参加者名がわからない場合は、list メソッドを使用してすべての参加者名を一覧表示できます。
このメソッドは、参加者のデータを participants リソースのインスタンスとして返します。
次のコードサンプルは、特定の参加者を取得する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARTICIPANT_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の特定の参加者 ID の名前を含む参加者名。
すべての参加者を一覧表示する
会議レコード内のすべての参加者の詳細を一覧表示するには、participants リソースで list メソッドを使用します。conferenceRecords/{conferenceRecord} の形式で parent パスパラメータを設定します。
このメソッドは、earliestStartTime の降順で並べ替えられた会議参加者のリストを participants リソースのインスタンスとして返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズする、または参加者リストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者を一覧表示する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/PARENT_NAME/participants" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
親の名前は、会議レコード内の特定の会議 ID の名前に置き換えます。
ページネーションをカスタマイズする、参加者リストをフィルタする
次のクエリ パラメータを渡して、参加者のページネーションをカスタマイズするか、フィルタします。
pageSize: 返される参加者の最大数。サービスが返す値はこれよりも少ないことがあります。指定されていない場合、最大で 100 人の参加者が返されます。最大値は 250 です。250 を超える値は自動的に 250 に変更されます。pageToken: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。filter: 省略可。participantsリソース結果で特定のアイテムを取得するクエリフィルタ。earliestStartTimeフィールドまたはlatestEndTimeフィールドを使用すると、特定の時間より前に参加したユーザーまたは特定の時間より後に退出したユーザーをフィルタできます。どちらのフィールドも、RFC 3339 UTC 「Zulu」形式の Timestamp 形式を使用します。精度はナノ秒まで、小数点以下は最大 9 桁です({year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z)。次に例を示します。earliestStartTime < 2023-10-01T15:01:23ZlatestEndTime < 2023-10-01T15:01:23Z
既存の会議のアクティブな参加者をすべて一覧表示するには、
latestEndTime IS NULLを使用します。
People API を使用して参加者の詳細を取得する
参加者の詳細を取得するには、People API の people リソースで get メソッドを使用します。
パスの末尾のコンポーネントを使用して、
participantリソースから人物の ID を抽出します。たとえば、participantリソースの値がconferenceRecords/abc-123/participants/12345の場合、People API の ID は12345です。READ_SOURCE_TYPE_PROFILE、READ_SOURCE_TYPE_CONTACT、READ_SOURCE_TYPE_OTHER_CONTACTReadSourceTypeを含めます。これにより、Google Workspace 組織の内部ユーザーと外部連絡先の両方がレスポンスに含まれるようになります。
次のコードサンプルは、組織のプロフィールと連絡先の両方で人物を検索する方法を示しています。
cURL
curl \
'https://people.googleapis.com/v1/people/PERSON_ID?personFields=names%2CemailAddresses&sources=READ_SOURCE_TYPE_OTHER_CONTACT&sources=READ_SOURCE_TYPE_PROFILE&sources=READ_SOURCE_TYPE_CONTACT' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--compressed
次のように置き換えます。
- PERSON_ID: 検索するユーザーの ID。
- ACCESS_TOKEN: 複数の API へのアクセスを許可するアクセス トークン。
参加者セッション
以降のセクションでは、会議レコード内の参加者の参加者セッションに関する情報を取得する方法について詳しく説明します。
参加者セッションの詳細を取得する
特定の参加者セッションの詳細を取得するには、participantSessions リソースで get メソッドを使用します。conferenceRecords/{conferenceRecord}/participants/{participantRecord}/participantSessions/{participantSessionRecord} の形式で name パスパラメータを設定します。
参加者セッション名がわからない場合は、list メソッドを使用して参加者のすべての参加者セッションを一覧表示できます。
このメソッドは、参加者の名前を participantSessions リソースのインスタンスとして返します。
次のコードサンプルは、特定の参加者のセッションを取得する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARTICIPANT_NAME/participantSessions/PARTICIPANT_SESSION_ID" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の特定の参加者 ID の名前を含む参加者名。
- 特定の参加者セッションの ID を含む参加者セッション ID。
参加者のすべてのセッションを一覧表示する
会議レコード内の参加者のすべての参加者セッションの詳細を一覧表示するには、participantSessions リソースで list() メソッドを使用します。conferenceRecords/{conferenceRecord}/participants/{participantRecord} の形式で parent パスパラメータを設定します。
このメソッドは、startTime で降順に並べ替えられた参加者セッションのリストを participantSession リソースのインスタンスとして返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズするか、参加者セッションのリストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者セッションを一覧表示する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARENT_NAME/participantSessions" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の参加者の参加者セッションの名前を含む親の名前。
ページネーションをカスタマイズする、または参加者セッション リストをフィルタする
次のオプションのクエリ パラメータを渡して、参加者セッションのページネーションをカスタマイズするか、フィルタします。
pageSize: 返される参加者セッションの最大数。サービスが返す値はこれよりも少ないことがあります。指定されていない場合、最大で 100 個の参加者セッションが返されます。最大値は 250 です。250 を超える値は自動的に 250 に変更されます。pageToken: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。filter: 省略可。participantsリソース結果で特定のアイテムを取得するクエリフィルタ。startTimeフィールドまたはendTimeフィールドを使用して、特定の時間より前に参加したユーザーまたは特定の時間より後に退出したユーザーをフィルタできます。どちらのフィールドも、RFC 3339 UTC 「Zulu」形式の Timestamp 形式を使用します。精度はナノ秒まで、小数点以下は最大 9 桁です({year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z)。次に例を示します。startTime < 2023-10-01T15:01:23ZendTime < 2023-10-01T15:01:23Z
会議レコード内のアクティブな参加者セッションをすべて一覧表示するには、
endTime IS NULLを使用します。