このドキュメントでは、Google Meet REST API を使用して、会議で生成されたさまざまな会議アーティファクトの詳細を取得する方法について説明します。
アーティファクトとは、会議に応じて Google Meet によって生成されるファイルまたはデータです。これには、動画の録画や、文字起こしなどのその他の成果物が含まれます。
アーティファクトを生成するには、会議が終了する前に Meet でアーティファクトを構成する必要があります。詳細については、自動アーティファクトを管理するをご覧ください。
文字起こしは録音とは独立して動作するため、文字起こしを生成するために会議を録音する必要はありません。すべての参加者が会議から退出すると、文字起こしは自動的に停止します。詳しくは、ビデオ会議を録画すると Google Meet で文字起こしを使用するをご覧ください。
アーティファクトを取得する
会議スペースのオーナーまたは参加者は、recordings、transcripts、transcripts.entries、smart notes リソースで get メソッドと list メソッドを呼び出して、アーティファクトを取得できます。詳しくは、以下のセクションをご覧ください。
ユーザー認証情報を使用して認証と認可を行うと、Meet 用アプリはユーザーデータにアクセスし、認証されたユーザーの代わりにオペレーションを実行できます。ドメイン全体の委任で認証すると、ユーザーごとに同意を求めることなく、アプリケーションのサービス アカウントがユーザーのデータにアクセスすることを承認できます。
アーティファクトの保持
会議が終了すると、Meet は録画と文字起こしを会議の主催者の Google ドライブに保存します。デフォルトでは、Meet のアーティファクトはドライブのルールに従って保持されます。
Meet REST API によって提供された文字起こしエントリは、会議の終了から 30 日後に削除されます。
Google Vault で Meet 固有の保持ルールを使用して、Meet のアーティファクトの保持を個別に管理することもできます。詳しくは、Vault を使用して Google Meet のデータを保持するをご覧ください。
録画
以降のセクションでは、会議レコードの録音に関する情報を取得する方法について詳しく説明します。
録画ファイルが生成されると、Meet は録画 ID にアクセスできるようになります。ユーザーが Google ドライブから録画ファイルを削除しても、Meet で一意の名前が返されることがあります。
recordings リソースには、DriveDestination オブジェクトと State オブジェクトの両方が含まれます。
DriveDestination オブジェクトには、録画が MP4 ファイルとして保存されるドライブのエクスポート場所が保持されます。録画をダウンロードしたり、ブラウザで再生したりするには、オブジェクトの exportUri フィールド値を使用します。Google Drive API をよくご存じの場合は、file フィールドの値が files リソースの id フィールドに対応していることをご確認ください。詳しくは、ファイルのダウンロードとエクスポートをご覧ください。
State オブジェクトには、録音セッションのステータスが保持されます。これにより、録画が開始されたかどうか、録画は終了したが録画ファイルが準備できていないかどうか、録画ファイルが生成されてダウンロードの準備ができているかどうかをクエリできます。
録画の詳細情報を取得する
特定の録音の詳細を取得するには、recordings リソースで get メソッドを使用します。conferenceRecords/{conferenceRecord}/recordings/{recordingName} の形式で name パスパラメータを設定します。
録音名がわからない場合は、list メソッドを使用してすべての録音名を一覧表示できます。
このメソッドは recordings リソースのインスタンスを返します。
次のコードサンプルは、特定の録音を取得する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/recordings/RECORDING_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の特定の録音 ID の名前を含む録音名。
すべての録音を一覧表示する
会議レコード内のすべての録音の詳細を一覧表示するには、recordings リソースで list メソッドを使用します。conferenceRecords/{conferenceRecord} の形式で parent パスパラメータを設定します。
このメソッドは、startTime で昇順に並べ替えられた会議録画のリストを recordings リソースのインスタンスとして返します。ページサイズを調整するには、ページネーションをカスタマイズする をご覧ください。
次のコードサンプルは、会議レコード内のすべての録音を一覧表示する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/PARENT_NAME/recordings" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
親の名前は、会議レコード内の特定の会議 ID の名前に置き換えます。
成績証明
以降のセクションでは、会議レコードで会議の文字起こしに関する情報を取得する方法について詳しく説明します。
文字起こしデータが生成されると、Meet は文字起こし ID にアクセスできます。ユーザーがドライブから文字起こしファイルを削除しても、Meet で一意の名前が返されることがあります。
transcripts リソースには、DocsDestination オブジェクトと State オブジェクトの両方が含まれます。
DocsDestination オブジェクトには、Google ドキュメントの文字起こしファイルが保存されるドライブ内のエクスポート場所が保持されます。コンテンツを取得したり、ブラウザで文字起こしを閲覧したりするには、オブジェクトの exportUri フィールド値を使用します。Google ドキュメント API をご存知の場合、document フィールドの値は documents リソースの documentId に対応します。
State オブジェクトには、文字起こしセッションのステータスが保持されます。これにより、文字起こしセッションが開始されたかどうか、文字起こしセッションは終了したが文字起こしファイルが準備できていないかどうか、文字起こしファイルが生成されてダウンロードの準備ができているかどうかをクエリできます。
文字起こしの詳細を取得する
特定の文字起こしの詳細を取得するには、transcripts リソースで get メソッドを使用します。conferenceRecords/{conferenceRecord}/transcripts/{transcriptName} の形式で name パスパラメータを設定します。
文字起こし名が不明な場合は、list メソッドを使用してすべての文字起こし名を一覧表示できます。
このメソッドは transcripts リソースのインスタンスを返します。
次のコードサンプルは、特定の文字起こしを取得する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/transcripts/TRANSCRIPT_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の特定の文字起こし ID の名前を含む文字起こし名。
すべての文字起こしを一覧表示する
会議レコード内のすべての文字起こしの詳細を一覧表示するには、transcripts リソースで list メソッドを使用します。conferenceRecords/{conferenceRecord} の形式で parent パスパラメータを設定します。
このメソッドは、startTime で昇順に並べ替えられた会議の文字起こしリストを transcripts リソースのインスタンスとして返します。ページサイズを調整するには、ページネーションをカスタマイズする をご覧ください。
次のコードサンプルは、会議レコード内のすべての文字起こしを一覧表示する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/PARENT_NAME/transcripts" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
親の名前は、会議レコード内の特定の会議 ID の名前に置き換えます。
文字起こしエントリ
以降のセクションでは、会議の文字起こしセッション中に各参加者の発言を文字起こしエントリとして取得する方法について詳しく説明します。
文字起こしエントリには、参加者の音声の文字起こしテキストが含まれます(最大 10,000 語)。発話されたテキスト languageCode(en-US など)も IETF BCP 47 構文で含まれます。
各文字起こしエントリは、会議の participant 名前に接続されています。参加者の詳細を取得するには、参加者の詳細を取得するをご覧ください。
文字起こしエントリのデータは、会議の終了後 30 日間利用できます。
Meet REST API から返される文字起こしエントリは、ドキュメントの文字起こしファイルにある文字起こしと一致しない場合があります。これは、文字起こしファイルの生成後に変更された場合に発生します。
文字起こしエントリの詳細を取得する
特定の文字起こしエントリの詳細を取得するには、transcripts.entries リソースで get メソッドを使用します。conferenceRecords/{conferenceRecord}/transcripts/{transcriptName}/entries/{transcriptEntryName} の形式で name パスパラメータを設定します。
文字起こしエントリ名が不明な場合は、list メソッドを使用してすべての文字起こしエントリ名を一覧表示できます。
このメソッドは transcripts.entries リソースのインスタンスを返します。
次のコードサンプルは、特定の文字起こしエントリを取得する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/transcripts/TRANSCRIPT_NAME/entries/TRANSCRIPT_ENTRY_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む会議レコード名。
- 会議レコード内の特定の文字起こし ID の名前を含む文字起こし名。
- トランスクリプト内の特定のトランスクリプト エントリ ID の名前を含むトランスクリプト エントリ名。
すべての文字起こしエントリを一覧表示する
文字起こし内のすべての文字起こしエントリの詳細を一覧表示するには、transcripts.entries リソースで list メソッドを使用します。conferenceRecords/{conferenceRecord}/transcripts/{transcript} の形式で parent パスパラメータを設定します。
このメソッドは、会議文字起こしごとに構造化された文字起こしエントリのリストを、startTime で昇順に並べ替え、transcripts.entries リソースのインスタンスとして返します。ページサイズを調整するには、ページネーションをカスタマイズする をご覧ください。
次のコードサンプルは、文字起こし内のすべての文字起こしエントリを一覧表示する方法を示しています。
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/PARENT_NAME/transcripts/TRANSCRIPT_NAME/entries" \
-H "Authorization: Bearer ACCESS_TOKEN"
ACCESS_TOKEN は、API へのアクセス権を付与するアクセス トークンに置き換えます。
次のように置き換えます。
- 会議レコード内の特定の会議 ID の名前を含む親の名前。
- 会議レコード内の特定の文字起こし ID の名前を含む文字起こし名。
スマートメモ
以降のセクションでは、会議レコードで会議のスマートメモに関する情報を取得する方法について詳しく説明します。
スマートノート データが生成されると、Meet はスマートノート ID にアクセスできます。ユーザーがドライブからスマートメモ ファイルを削除しても、一意の名前が Meet で返されることがあります。
smartNotes リソースには State オブジェクトが含まれます。このオブジェクトは、スマートメモ セッションのステータスを保持します。これにより、スマートメモ セッションが開始されたかどうか、スマートメモ セッションが終了したがスマートメモ ファイルの準備ができていないかどうか、スマートメモ ファイルが生成されてダウンロードの準備ができているかどうかをクエリできます。
smartNotes リソースには DocsDestination オブジェクト タイプも含まれます。このオブジェクトには、Google ドキュメントのスマートノート ファイルが保存されるドライブ内のエクスポート場所が保持されます。コンテンツを取得したり、ブラウザでスマートノートを閲覧したりするには、オブジェクトの exportUri フィールド値を使用します。Google Docs API をご存知の場合、document フィールドの値は documents リソースの documentId に対応します。
スマートノートは、get メソッドと list メソッドを使用して管理できます。
スマートメモの詳細を取得する
特定のスマートノート ファイルの詳細を取得するには、smartNotes で get メソッドを使用します。conferenceRecords/{conferenceRecord}/smartNotes/{smartNote} 形式を使用して name パスパラメータを設定します。
スマートノートの名前がわからない場合は、list メソッドを使用してすべてのスマートノート ファイルを一覧表示できます。
このメソッドは smartNotes リソースのインスタンスを返します。
cURL
curl -X GET "https://meet.googleapis.com/v2beta/conferenceRecords/CONFERENCE_RECORD_NAME/smartNotes/SMART_NOTES_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
次のように置き換えます。
- CONFERENCE_RECORD_NAME: 会議レコード内の特定の会議 ID。
- SMART_NOTES_NAME: 会議レコード内の特定のスマートメモ ID。
- ACCESS_TOKEN: API へのアクセスを許可するアクセス トークン。
すべてのスマートメモを一覧表示する
会議レコード内のすべてのスマートメモ ファイルの詳細を一覧表示するには、smartNotes リソースの list メソッドを使用します。conferenceRecords/{conferenceRecord} の形式で parent パスパラメータを設定します。
このメソッドは、startTime の昇順で並べ替えられた会議のスマートメモ ファイルのリストを smartNotes リソースのインスタンスとして返します。ページサイズを調整するには、ページネーションをカスタマイズする をご覧ください。
cURL
curl -X GET "https://meet.googleapis.com/v2beta/conferenceRecords/PARENT_NAME/smartNotes" \
-H "Authorization: Bearer ACCESS_TOKEN"
次のように置き換えます。
- PARENT_NAME: 会議レコード内の特定の会議 ID。
- ACCESS_TOKEN: API へのアクセスを許可するアクセス トークン。
ページ設定をカスタマイズする
次のクエリ パラメータを渡して、録音、文字起こし、文字起こしエントリのページネーションをカスタマイズします。
pageSize: 返されるアイテムの最大数。サービスが返す値はこれよりも少ないことがあります。指定されていない場合、最大で 10 個のアイテムが返されます。最大値は 100 です。100 を超える値は自動的に 100 に変更されます。pageToken: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。