このガイドでは、Google Meet REST API を使用して、過去のミーティングに参加した参加者やアクティブなミーティングに参加している参加者の詳細とセッション情報を取得する方法について説明します。
参加者とは、通話に参加しているユーザー、コンパニオン モードを使用しているユーザー、閲覧者として視聴しているユーザー、通話に接続されている会議室デバイスのことです。1 人あたり 1 つの participants
リソースがあります。
参加者セッションは、通話に参加する参加者とデバイスのペアごとに作成される一意のセッション ID です。セッションごとに 1 つの participantSessions
リソースがあります。参加者が同じ参加者 / デバイスのペアから同じ通話に複数回参加した場合、それぞれに一意のセッション ID が割り当てられます。
会議スペースの所有者または参加者は、participants
リソースと participantSessions
リソースの両方で get()
メソッドと list()
メソッドを呼び出して、参加者レコードを取得できます。
ユーザー認証情報で認証と承認を行うと、Google Meet アプリはユーザーデータにアクセスし、認証済みユーザーに代わってオペレーションを実行できます。ドメイン全体での委任で認証すると、ユーザーごとに同意を求めることなく、アプリケーションのサービス アカウントがユーザーのデータにアクセスできるように承認できます。
参加者
以降のセクションでは、会議レコードの参加者に関する情報を取得する方法について詳しく説明します。
participants
リソースは user
フィールドと結合します。user
は、次のいずれかのオブジェクトになります。
signedinUser
は次のいずれかです。パソコン、モバイル デバイス、コンパニオン モードから参加するユーザー。
会議室デバイスで使用されるロボット アカウント。
anonymousUser
は、Google アカウントにログインしていない未確認のユーザーです。phoneUser
は、Google アカウントでログインしていないため、ユーザーの ID が不明な電話からダイヤルインしたユーザーです。
3 つのオブジェクトはすべて displayName
を返しますが、signedinUser
は Admin SDK API と People API と相互運用可能な一意の user
ID も返します。形式: users/{user}
。People API で user
ID を使用する方法については、People API を使用して参加者の詳細を取得するをご覧ください。
参加者の詳細を取得する
特定の参加者の詳細を取得するには、name
パス パラメータを使用して participants
リソースの get()
メソッドを使用します。参加者名がわからない場合は、list()
メソッドを使用してすべての参加者名を一覧表示できます。
このメソッドは、参加者データを participants
リソースのインスタンスとして返します。
次のコードサンプルは、特定の参加者を取得する方法を示しています。
Java
Node.js
Python
参加者名は、会議レコード内の特定の参加者 ID の名前に置き換えます。
すべての参加者を一覧表示する
会議レコード内のすべての参加者の詳細を一覧表示するには、parent
パス パラメータを使用して participants
リソースの list()
メソッドを使用します。形式: conferenceRecords/{conferenceRecord}
。
このメソッドは、participants
リソースのインスタンスとして、earliestStartTime
の降順で並べ替えられた会議参加者のリストを返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズする、または参加者リストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者を一覧表示する方法を示しています。
Java
Node.js
Python
親の値は、会議レコードの名前に置き換えます。
ページネーションをカスタマイズする、参加者リストをフィルタする
次のクエリ パラメータを渡して、参加者のページネーションやフィルタをカスタマイズします。
pageSize
: 返される参加者の最大数。サービスが返す値はこれよりも少ないことがあります。指定されていない場合は、最大 100 人の参加者が返されます。最大値は 250 です。250 を超える値は自動的に 250 に変更されます。pageToken
: 前の list 呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。filter
: 省略可。participants
リソースの結果で特定のアイテムを取得するクエリフィルタ。earliestStartTime
フィールドまたはlatestEndTime
フィールドを使用すると、特定の期間より前に参加したユーザーや、特定の期間より後に退社したユーザーをフィルタできます。どちらのフィールドも、RFC 3339 UTC「Zulu」形式のタイムスタンプ形式を使用します。精度はナノ秒で、小数点以下は最大 9 桁です。{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z
。次に例を示します。earliestStartTime < 2023-10-01T15:01:23Z
latestEndTime < 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_CONTACT
ReadSourceType
を含めます。これにより、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 へのアクセスを許可するアクセス トークン。
参加者のセッション
以降のセクションでは、会議レコード内の参加者の参加者セッションに関する情報を取得する方法について説明します。
参加者のセッションの詳細を取得する
特定の参加者セッションの詳細を取得するには、name
パス パラメータを使用して participantSessions
リソースの get()
メソッドを使用します。参加者のセッション名がわからない場合は、list()
メソッドを使用して参加者のすべての参加者セッションを一覧表示できます。
このメソッドは、参加者名を participantSessions
リソースのインスタンスとして返します。
次のコードサンプルは、特定の参加者セッションを取得する方法を示しています。
Java
Node.js
Python
参加者名は、参加者セッション内の特定の参加者セッション ID の名前に置き換えます。
参加者のすべてのセッションを一覧表示する
会議レコード内の参加者のすべての参加者セッションの詳細を一覧表示するには、parent
パス パラメータを使用して participantSessions
リソースの list()
メソッドを使用します。形式: conferenceRecords/{conferenceRecord}/participants/{participant}
。
このメソッドは、participantSession
リソースのインスタンスとして、startTime
の降順で並べ替えられた参加者セッションのリストを返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズする、または参加者のセッション リストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者セッションを一覧表示する方法を示しています。
Java
Node.js
Python
親の値は、会議レコード内の参加者の参加者セッションの名前に置き換えます。
ページネーションをカスタマイズする、または参加者セッションのリストをフィルタする
次のオプションのクエリ パラメータを渡して、参加者セッションのページネーションのカスタマイズやフィルタリングを行います。
pageSize
: 返される参加者セッションの最大数。サービスが返す値はこれよりも少ないことがあります。指定されていない場合は、最大 100 件の参加者セッションが返されます。最大値は 250 です。250 を超える値は自動的に 250 に変更されます。pageToken
: 前の list 呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。filter
: 省略可。participants
リソースの結果で特定のアイテムを取得するクエリフィルタ。startTime
フィールドまたはendTime
フィールドを使用すると、特定の期間より前に入社したユーザーや、特定の期間より後に退社したユーザーをフィルタできます。どちらのフィールドも、RFC 3339 UTC「Zulu」形式のタイムスタンプ形式を使用します。精度はナノ秒で、小数点以下は最大 9 桁です。{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z
。次に例を示します。startTime < 2023-10-01T15:01:23Z
endTime < 2023-10-01T15:01:23Z
会議レコード内のアクティブな参加者セッションを一覧表示するには、
endTime IS NULL
を使用します。