このガイドでは、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 を使用して参加者の詳細を取得するをご覧ください。
参加者の詳細を取得する
特定の参加者に関する詳細を取得するには、name
パスパラメータを使用して participants
リソースの get()
メソッドを使用します。参加者名がわからない場合は、list()
メソッドを使用してすべての参加者名を一覧表示できます。
このメソッドは、参加者のデータを participants
リソースのインスタンスとして返します。
次のコードサンプルは、特定の参加者を取得する方法を示しています。
Java
Node.js
Python
参加者の名前は、会議レコード内の特定の参加者 ID の名前に置き換えます。
すべての参加者を一覧表示する
会議レコード内のすべての参加者の詳細を一覧表示するには、parent
パスパラメータを使用して participants
リソースで list()
メソッドを使用します。形式: conferenceRecords/{conferenceRecord}
。
このメソッドは、earliestStartTime
の降順で並べ替えられた会議参加者のリストを participants
リソースのインスタンスとして返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズする、または参加者リストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者を一覧表示する方法を示しています。
Java
Node.js
Python
parent 値は、会議レコードの名前に置き換えます。
ページネーションをカスタマイズする、参加者リストをフィルタする
次のクエリ パラメータを渡して、参加者のページネーションをカスタマイズするか、フィルタします。
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: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}
。
このメソッドは、startTime
で降順に並べ替えられた参加者セッションのリストを participantSession
リソースのインスタンスとして返します。ページサイズを調整してクエリ結果をフィルタするには、ページネーションをカスタマイズするか、参加者セッションのリストをフィルタするをご覧ください。
次のコードサンプルは、会議レコード内のすべての参加者セッションを一覧表示する方法を示しています。
Java
Node.js
Python
親の値を、会議レコードの参加者の参加者セッションの名前に置き換えます。
ページネーションをカスタマイズする、または参加者セッション リストをフィルタする
次のオプションのクエリ パラメータを渡して、参加者セッションのページネーションをカスタマイズするか、フィルタします。
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:23Z
endTime < 2023-10-01T15:01:23Z
会議レコード内のアクティブな参加者セッションをすべて一覧表示するには、
endTime IS NULL
を使用します。