YouTube Live Streaming API - 変更履歴

このページでは、YouTube Live Streaming API の変更点とドキュメントの更新内容の一覧を示します。この変更履歴に登録します。チャンネル登録

2023 年 10 月 9 日

参考までに、どのステッカー ID とどの Super Stickers が関連しているかは、こちらの CSV ファイルで確認できます。 liveChatMessage リソースの snippet.superStickerDetails.superStickerMetadata.stickerId プロパティと superChatEvent リソースの snippet.superStickerMetadata.stickerId プロパティの定義は、どちらもこの情報を反映するように更新されています。

2023 年 9 月 15 日

API で、ライブ配信に広告を挿入する新しい方法がサポートされるようになりました。ブロードキャストにミッドロール挿入点を手動で挿入できる liveCuepoints に加えて、YouTube では、一定の間隔でミッドロール挿入点をブロードキャストに自動的に挿入する機能もサポートしています。

ブロードキャストの所有者が自動広告を有効にしている場合、広告の動作について以下の点を確認できます。

  • ミッドロール挿入点の間隔の長さ。
  • 広告キューポイントのスケジューリング戦略を表します。キューポイントは、すべての視聴者に対して同時に挿入できます。また、キューポイントのタイミングは視聴者ごとに異なります。後者の戦略では、YouTube はより高い頻度でキューポイントのスケジュールを設定できます。これにより、視聴者はキューポイントを受信できる場合に、キューポイントを受信できるようになります。
  • ミッドロール広告が表示されない期間。この機能に関して、ブロードキャスト オーナーは特定の時間までミッドロール広告の挿入を一時停止することを指定します。

この機能をサポートするため、ドキュメントには API の次の変更が反映されています。

  • liveBroadcast リソースに monetizationDetails オブジェクトが追加されました。オブジェクトのフィールドは、ブロードキャストで自動広告挿入が有効になっているかどうかを示し、またキューポイントのスケジュール設定に関する追加情報を指定します。
  • liveBroadcast.list メソッドの part パラメータは、monetizationDetails 値をサポートします。
  • update メソッドを使用すると、ライブ配信の特定の期間、ミッドロール広告の挿入を一時停止できます。また、ライブ ブロードキャストの収益化の詳細を更新する際に発生する可能性があるエラーも特定しました。

2023 年 8 月 1 日

この改訂での変更内容は次のとおりです。

  • liveBroadcasts.update メソッドで、次のフィールドに値を指定する必要がなくなりました。

    • snippet.title
    • status.privacyStatus

    リクエストで省略した場合、これらのフィールドは変更されません。

2022 年 11 月 1 日

  • 新しい liveBroadcasts.cuepoint メソッドを使用すると、YouTube でライブ配信を行うチャンネル所有者は、そのブロードキャストにキューポイントを挿入できます。これにより、ミッドロール挿入点をトリガーできます。このメソッドは、YouTube コンテンツ パートナーのみがライブ配信にキューポイントを挿入できるようにしていた liveCuepoints.insert メソッドに代わるものです。

    この新しいメソッドが利用可能になったことを反映して、いくつかのガイドが更新されました。

  • 注: これはサポート終了のお知らせです。

    liveCuepoints.insert メソッドは非推奨になりました。liveCuepoints.insert メソッドのサポートは 2023 年 5 月 1 日以降に削除されます。API ユーザーは、代わりに liveBroadcasts.cuepoint メソッドを呼び出すようにアプリケーションを更新する必要があります。

  • liveBroadcasts.control メソッドのドキュメントを削除しました。このメソッドのサポート終了に関する通知は、2020 年 9 月に投稿されました。

2022 年 10 月 1 日

この改訂での変更内容は次のとおりです。

  • liveBroadcasts.update メソッドでは、次のフィールドに値を指定する必要がなくなりました。

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    リクエストで省略した場合、これらのフィールドは変更されません。

  • 古い liveBroadcast フィールドのドキュメントを削除しました。

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

2022 年 4 月 1 日

この改訂での変更内容は次のとおりです。

  • snippet.type プロパティが 2 つの新しい値をサポートするようになりました。

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • liveChatMessage リソースの新しい snippet.membershipGiftingDetails プロパティとその子には、メンバーシップ ギフトのイベントに関する情報が含まれています。同様に、新しい snippet.giftMembershipReceivedDetails プロパティとその子には、メンバーシップ ギフト受領イベントに関する情報が含まれています。

2021 年 9 月 15 日

この改訂での変更内容は次のとおりです。

  • snippet.type プロパティが 2 つの新しい値をサポートするようになりました。

    • newSponsorEvent
    • memberMilestoneChatEvent
  • liveChatMessage リソースの新しい snippet.memberMilestoneChatDetails プロパティとその子プロパティには、メンバー マイルストーン チャット イベントに関する情報が含まれています。同様に、新しい snippet.newSponsorDetails プロパティとその子には、新しいスポンサー イベントに関する情報が含まれています。

2020 年 12 月 1 日

API の liveBroadcasts.transition メソッドは、新しい 403Forbidden)エラーをサポートします。これは、ユーザーが特定の期間内に送信したリクエストが多すぎることを示します。エラーの理由は userRequestsExceedRateLimit です。

2020 年 9 月 21 日

  • liveBroadcast リソースの status.madeForKids プロパティの定義が更新され、プロパティが読み取り専用であることが明確になりました。これは API の機能の変更を反映するものではありません。

    ライブ配信を子ども向けとして指定するには、liveBroadcasts.insert メソッドを呼び出してブロードキャストを作成する際に、status.selfDeclaredMadeForKids プロパティを true に設定します。

  • 注: この変更には、サポート終了のお知らせと以前のサポート終了のお知らせの更新が含まれています。

    liveBroadcasts.control メソッドは、2020 年 10 月 1 日以降に非推奨となります。この日を過ぎると、このメソッドに対するすべての呼び出しは禁止(403)エラーを返し、メソッドは後で完全に削除されます。 YouTube の取り込みサーバーに送信される動画にオーバーレイを追加することで、クライアントは独自のスレートを実装できます。

    当初は 2020 年 9 月 1 日に予定されていた 2020 年 4 月 16 日に非推奨についてのお知らせのサポート終了日が延期され、2020 年 10 月 1 日以降に実施されます。そのため、サポート終了のお知らせに含まれる機能と liveBroadcasts.control メソッドはすべて同時にサポート終了となります。

2020 年 7 月 17 日

注: これは、以前のサポート終了のお知らせに対する更新です。

liveStream リソースの cdn.format フィールドは 2016 年 4 月に非推奨となりましたが、2020 年 8 月 17 日をもってサポートを終了します。その日付の時点で、まだそのフィールドを使用しているリクエストは失敗します。

コードで引き続き cdn.format フィールドを使用している場合は、cdn.frameRate プロパティと cdn.resolution プロパティを使用して、フレームレートと解像度を個別に指定するように更新する必要があります。

2020 年 7 月 6 日

HLS を使用した YouTube ライブ コンテンツの配信ガイドが更新され、いくつかの変更が加えられました。

また、新しい取り込みプロトコルの比較には、YouTube がサポートする取り込みプロトコル、各プロトコルでサポートされているコーデック、各プロトコルの適切なユースケースに関する追加情報が記載されています。

2020 年 4 月 16 日

このアップデートには、新しいプロパティとサポート終了のお知らせが含まれています。

  • liveBroadcast リソースが contentDetails.enableAutoStop プロパティをサポートするようになりました。このプロパティは、チャンネル所有者がバインドされた動画ストリームの動画ストリーミングを停止してから、約 1 分後にブロードキャストを自動的に停止するかどうかを示します。

    ブロードキャストのライフサイクルのドキュメントを更新し、contentDetails.enableAutoStart プロパティまたは contentDetails.enableAutoStop プロパティを true に設定した場合に YouTube ライブ イベントを作成および管理する詳細なプロセスがどのように変更されるかを説明しました。

  • 注: これはサポート終了のお知らせです。この変更は、2020 年 9 月 1 日以降に適用されます。以下では、変更が適用される実際の日付をサポート終了日と呼びます。

    このアップデートでは、互換性を破る可能性のある変更について説明しています。これは、チャンネルのデフォルトの liveStream リソースと liveBroadcast リソースを使用して YouTube のライブ コンテンツをストリーミングする API クライアント アプリケーションに影響します。具体的には、永続的なブロードキャストとストリームに関連付けられたブロードキャスト IDストリーム ID は、新しいブロードキャストを開始するように機能しなくなります。

    次のいずれかに該当する場合、お客様の申請は影響を受けます。

    • liveBroadcast リソースの isDefaultBroadcast プロパティの値を確認します。このプロパティは、サポート終了日以降は返されません。
    • liveStream リソースの isDefaultStream プロパティの値を確認します。このプロパティは、サポート終了日以降は返されません。
    • liveBroadcasts.list メソッドを呼び出し、broadcastType パラメータ値を persistent または all に設定します。このパラメータは、これらの変更に伴って非推奨になります。サポート終了日の時点では次のようになります。
      • broadcastType パラメータ値が persistent の場合、liveBroadcasts.list メソッドは結果を返しません。
      • broadcastType パラメータ値が all の場合、liveBroadcasts.list メソッドは、その時刻より前に存在していた永続的なブロードキャストを返しません。

    背景情報として、YouTube では過去数年間、チャンネルのライブ配信が有効なデフォルトのストリームとブロードキャストを自動的に作成してきました。デフォルトのストリームは無期限に存在しており、開始時間または終了時間が関連付けられていないため、削除できませんでした。同様に、デフォルトのブロードキャストは永続と見なされていました。常に存在しており、特定のイベントにバインドされていません。

    サポート終了日の時点では次のようになります。

    • YouTube では、デフォルトのストリームとブロードキャストは作成されなくなります。API クライアントは、デフォルトのリソースを使用するのではなく、liveBroadcast リソースと liveStream リソースを作成および管理し、これらのリソースをバインドできる必要があります。
    • チャンネルのデフォルト ブロードキャストとデフォルト ストリームがアクティブにライブ中である場合(つまり、サポート終了の開始時にチャンネルがライブ配信にそれらを使用している場合)、進行中のブロードキャストには影響しません。ただし、ブロードキャストが終了すると、そのチャンネルはデフォルトのブロードキャストとデフォルトのストリームを再度使用できなくなります。
    • チャンネルのデフォルトの配信とデフォルトのストリームがアクティブに行われていない場合、サポート終了が有効になった後、YouTube はこれらのリソースを使用して動画を配信しようとしても無視します。

    アプリケーションが影響を受ける場合は、以下のドキュメントをご確認ください。このドキュメントは、この変更後も引き続き想定どおりに機能するようアプリケーションを更新するのに役立ちます。

    • 新しい移行ガイドでは、現在デフォルトのブロードキャストとストリームを使用している API クライアントで、デベロッパーが対処する必要がある手順を説明しています。
    • 配信のライフサイクルガイドでは、YouTube でライブイベントを作成、管理する方法について順を追って説明します。 各ステップでは、特定のアクションを完了するために必要な API 呼び出しやその他の処理について説明します。YouTube がデフォルトのストリームとブロードキャストのサポートを停止した場合、アプリケーションはそのプロセスに従う必要があります。

2020 年 3 月 31 日

注: これはサポート終了のお知らせです。

sponsor リソースと sponsors.list メソッドが非推奨になり、member リソースと members.list メソッドに置き換えられました。

sponsors.list メソッドは、2020 年 9 月 30 日以降サポートされなくなります。API クライアントは、sponsors.list メソッドの呼び出しを更新して、代わりに members.list メソッドを使用する必要があります。新しいリソースについて詳しくは、YouTube Data API の変更履歴をご覧ください。

2020 年 3 月 11 日

HLS を使用した YouTube ライブ コンテンツの配信ガイドの取り込みエンドポイント セクションを更新し、エンコーダがプライマリとバックアップの取り込み URL を作成する際に file= パラメータ値を入力するプロセスを明確にしました。

2020 年 2 月 4 日

HLS を使用したライブ YouTube コンテンツの配信ガイドを更新し、DELETE リクエストはオプションであり、YouTube の HLS エンドポイントでは無視されることを明記しました。パフォーマンス上の理由から、YouTube ではクライアントは DELETE リクエストを送信しないことをおすすめします。

2020 年 1 月 10 日

この API は、YouTube では「子ども向け」と呼ぶ子ども向けコンテンツを識別する機能をサポートするようになりました。YouTube ヘルプセンターで「子ども向け」コンテンツの詳細をご覧ください。

  • liveBroadcast リソースでは、コンテンツの作成者と視聴者が「子ども向け」コンテンツを識別できるように、次の 2 つの新しいプロパティがサポートされています。
    • コンテンツ作成者は selfDeclaredMadeForKids プロパティを使用して、ライブ配信が子ども向けコンテンツであるかどうかを指定できます。このプロパティは、liveBroadcasts.insert メソッドでブロードキャストを作成するときに設定できます。このプロパティは、チャネル所有者が API リクエストを承認した場合、liveBroadcast リソースを含む API レスポンスにのみ含まれます。
    • madeForKids プロパティを使用すると、API ユーザーはブロードキャストの「子ども向け」ステータスを取得できます。たとえば、ステータスは selfDeclaredMadeForKids プロパティの値に基づいて判断されます。チャンネル、動画、ブロードキャストの視聴者の設定について詳しくは、YouTube ヘルプセンターをご覧ください。
  • YouTube Data API では、channel リソースは新しい selfDeclaredMadeForKids プロパティと madeForKids プロパティもサポートしています。

また、YouTube API サービスの利用規約とデベロッパー ポリシーも更新しました。詳しくは、YouTube API サービス利用規約 - 変更履歴をご覧ください。YouTube API サービスの利用規約とデベロッパー ポリシーの変更は、2020 年 1 月 10 日(太平洋時間)に発効します。

2019 年 8 月 20 日

HLS 経由での YouTube コンテンツの配信ガイドの要件セクションを更新し、次の 2 つの変更を加えました。

  • 各メディア再生リストには、確認応答済みのセグメントと未処理のセグメントの両方を含めることがベスト プラクティスであることが説明されています。この方法により、サーバー側でメディア再生リストが失われた場合に、セグメントがスキップされる可能性が低くなります。たとえば、各メディア再生リストに最大 2 つの確認応答済みセグメントと最大 5 つの未処理のセグメントを含めることができます。
  • すべてのメディア セグメントについてメディア再生リストを送信することが必須になりました。これにより、メディア再生リストが失われた場合にサーバーを迅速に復元できます。この手法は、以前は推奨事項として記載されていました。

2019 年 6 月 28 日

YouTube で HLS 取り込みがサポートされるようになりました。そのため、liveStream リソースの ingestionType プロパティでは、HLS を使用して YouTube に取り込まれるストリームを識別するために新しい値 hls がサポートされます。

新しい HLS を使用した YouTube コンテンツの配信ガイドでは、HLS を使用してエンコーダから YouTube にライブ コンテンツをストリーミングする場合のガイドラインを提供しています。このガイドは、エンコーダ ベンダーが自社製品で HLS 配信をサポートできるようにすることを目的としています。

2019 年 4 月 4 日

この改訂での変更内容は次のとおりです。

  • API リファレンス ドキュメントが更新され、各メソッドの一般的なユースケースが詳しく説明され、API Explorer ウィジェットを通じて動的で高品質なコードサンプルが提供されるようになりました。例については、liveBroadcasts.list メソッドのドキュメントをご覧ください。API メソッドを説明するページに、次の 2 つの新しい要素が追加されました。

    • APIs Explorer ウィジェットでは、認可スコープを選択し、サンプルのパラメータとプロパティ値を入力して、実際の API リクエストを送信して、実際の API レスポンスを確認できます。このウィジェットでは、全画面ビューにコードサンプル全体を表示することもできます。コードサンプルは、入力したスコープと値を使用するように動的に更新されます。

    • 一般的なユースケース セクションでは、このページで説明されているメソッドの一般的なユースケースを 1 つ以上説明しています。たとえば、liveBroadcasts.list メソッドを呼び出して、特定のブロードキャストに関するデータや現在のユーザーのブロードキャストに関するデータを取得できます。

      このセクションのリンクを使用すると、API Explorer にユースケースのサンプル値を表示したり、それらの値が入力された全画面の API Explorer を開いたりできます。これらの変更は、独自のアプリケーションに実装しようとしているユースケースに直接適用されるコードサンプルを簡単に確認できるようにすることを目的としています。

    コードサンプルは、現在 Java、JavaScript、PHP、Python、curl でサポートされています。

  • コードサンプル ページの UI も新しくなり、上記と同じ機能をすべて利用できます。このツールを使用すると、さまざまなメソッドのユースケースを探したり、API Explorer に値を読み込んだり、全画面の API Explorer を開いて Java、JavaScript、PHP、Python のコードサンプルを取得したりできます。

    この変更に伴い、以前に Java、PHP、Python で利用可能なコードサンプルを掲載していたページが削除されました。

2019 年 2 月 25 日

liveChatMessage リソースと superChatEvent リソースのドキュメントを更新し、両方のリソースで Super Stickers に関する情報を追加できるようになりました。Super Stickers は Super Chat メッセージの一種で、画像が表示されます。他の Super Chat と同様に、Super Sticker メッセージは YouTube のライブ配信中にファンが購入します。

  • liveChatMessage リソースで、snippet.type プロパティが superStickerEvent に設定され、リソースに Super Sticker に関する情報が含まれていることを示します。その場合、リソースには Super Sticker に関する追加情報を含む snippet.superStickerDetails オブジェクトも含まれます。
  • superChatEvent リソースでは、ブール値 snippet.isSuperStickerEvent が Super Chat メッセージが Super Sticker でもあるかどうかを示します。その場合、snippet.superStickerMetadata オブジェクトには Super Sticker に関する追加情報が含まれています。

2018 年 4 月 5 日

superChatEvents.list メソッドの説明を更新し、API レスポンスに 2017 年初頭に非推奨となった fanFundingEvents が含まれなくなったことを反映させました。

2017 年 4 月 3 日

チャット メッセージを一覧表示挿入削除する方法を示す新しい Java コードサンプルを追加しました。このサンプルでは、次のメソッドを呼び出します。

2017 年 2 月 13 日

この改訂での変更内容は次のとおりです。

  • 既存のリソースとメソッドの更新

    • onBehalfOfContentOwner パラメータが現在必須となっていることを反映するため、liveCuepoints.insert メソッドが更新されました。また、メソッドの説明を更新し、メソッドの呼び出しは、YouTube コンテンツ所有者に関連付けられたアカウントによって承認される必要があることを記載しました。

2017 年 2 月 9 日

この改訂での変更内容は次のとおりです。

  • 既存のリソースとメソッドの更新

    • superChatEvents.list メソッドの新しい hl パラメータを使用すると、snippet.displayString プロパティ値を特定の言語の規則に従ってフォーマットするように指定できます。このプロパティの定義もそれに応じて更新されています。

      パラメータ値には、i18nLanguages.list メソッドによって返されるリストに含まれる言語コードを指定する必要があります。デフォルト値は en です。つまり、デフォルトの動作では、表示する文字列は英語で使用されるのと同じ形式になります。たとえば、デフォルトで文字列の形式は $1,00 ではなく $1.00 になります。

2017 年 2 月 1 日

この改訂での変更内容は次のとおりです。

  • 新しいリソースとメソッド

    • 新しい superChatEvent リソースは、YouTube ライブ配信中にファンが購入した Super Chat メッセージを表します。YouTube のチャット ストリームでは、Super Chat は次の 2 つの点で他のメッセージより目立ちます。

      • Super Chat は色でハイライト表示されます。
      • Super Chat はティッカー内に一定期間固定表示されます。

      Super Chat の色、ティッカーに固定されている期間、メッセージの最大長はすべて、購入金額によって決まります。Super Chat について詳しくは、YouTube ヘルプセンターをご覧ください。

      この API では、チャンネルのライブ配信で過去 30 日間に行われた Super Chat イベントを一覧表示するメソッドがサポートされています。このメソッドは、チャンネルの最後のライブ配信の視聴者ファンディング イベント(fanFundingEvents)に関するデータも返します。

  • 既存のリソースとメソッドの更新

    • snippet.type プロパティで superChatEvent 値がサポートされるようになりました。この値は、リソースが Super Chat を記述していることを示します。

      また、liveChatMessage リソースの新しい snippet.superChatDetails プロパティとその子プロパティには、Super Chat イベントに関する情報が含まれています。

    • liveStream リソースの cdn.resolution プロパティで値 2160p がサポートされるようになりました。

  • 新しいエラーと更新エラー

    • API では、次の新しいエラーがサポートされています。

      エラーの詳細
      liveBroadcasts.insertliveBroadcasts.update liveBroadcasts.insert メソッドと liveBroadcasts.update メソッドは 400Bad Request)エラーを返します。これは、挿入または更新される liveBroadcast リソースの contentDetails.enableEmbed プロパティまたは contentDetails.projection プロパティのいずれかに無効な値が含まれていることを示します。2 つの新しいエラーの理由は、それぞれ invalidEmbedSettinginvalidProjection です。

2017 年 1 月 12 日

注: これはサポート終了のお知らせです。

新しい Super Chat 機能のリリースに伴って、YouTube では視聴者ファンディング機能のサポートを終了し、視聴者ファンディング API は 2017 年 2 月 28 日に廃止されます。この日以降、次のようになります。

2016 年 8 月 11 日

この改訂での変更内容は次のとおりです。

  • 新たに公開された YouTube API サービス利用規約(「更新された規約」)には、現在の利用規約に加えられた更新内容が多く含まれています。詳しくは YouTube エンジニアリングとデベロッパー ブログをご覧ください。2017 年 2 月 10 日から施行される更新された利用規約に加えて、この更新には、デベロッパーが準拠する必要があるポリシーを説明する際に役立ついくつかの補足ドキュメントが含まれています。

    新しいドキュメントの全セットは、更新後の本規約の変更履歴に記載されています。また、更新後の本規約または補足書類に対する今後の変更についても、その改訂履歴に記載されます。ドキュメント内のリンクから、変更履歴の変更内容をリストした RSS フィードに登録できます。

2016 年 5 月 20 日

YouTube が DASH 取り込みをサポートするようになりました。したがって、liveStream リソースの ingestionType プロパティでは新しい値 dash がサポートされ、DASH を使用して YouTube に取り込まれたストリームを識別できます。

新しい DASH 経由で YouTube ライブ コンテンツを配信するガイドでは、DASH 配信形式を使用してエンコーダから YouTube のライブデータをストリーミングする場合のガイドラインを提供しています。エンコーダ ベンダーが自社製品に DASH 配信サポートを追加できるようにすることを目的としています。

2016 年 4 月 18 日

この改訂での変更内容は次のとおりです。

  • 既存のリソースとメソッドの更新

    • liveStream リソースの更新
      • YouTube は、解像度 1440p で 30 または 60 フレーム/秒のストリーミングをサポートするようになりました。

        また、liveStream リソースには、受信動画データのフレームレートと解像度を指定するための新しいプロパティが含まれています。

        プロパティ
        cdn.frameRate 受信動画データのフレームレート。有効な値は 30fps60fps です。
        cdn.resolution 受信動画データの解像度。有効な値は 1440p1080p720p480p360p240p です。
      • liveStream リソースの cdn.frameRate プロパティと cdn.resolution プロパティの導入に従って、リソースの cdn.format が非推奨になりました。cdn.format プロパティは、解像度とフレームレートを単一の値で指定します。

        新たにサポートされたフィールドに移行することをおすすめします。その間、cdn.format は引き続き機能します。また、ライブ ストリームを挿入するリクエストは、cdn.format プロパティ、または cdn.frameRate プロパティと cdn.resolution プロパティのいずれかに値を指定すれば、現在は成功します。3 つのプロパティすべてに値を指定した場合、値が一致していない場合、API からエラーが返されることがあります。

        なお、cdn.format プロパティは非推奨ですが、1440p1440p_hfr の 2 つの新しい値をサポートするようになりました。これは、30 または 60 フレーム/秒の 1440p ストリームに対する API のサポートを反映しています。

    • liveBroadcast リソースの更新
      • liveBroadcast リソースには、次の新しいプロパティが含まれています。

        プロパティ
        contentDetails.boundStreamLastUpdateTimeMs ブロードキャストの contentDetails.boundStreamId プロパティで参照されるライブ ストリームの最終更新日時。
        contentDetails.projection ブロードキャストのプロジェクション形式。プロパティのデフォルト値は rectangular です。このプロパティで有効な値は 360rectangular です。
      • liveBroadcast リソースの statistics.totalChatCount プロパティの定義を更新し、ブロードキャストに少なくとも 1 つのチャット メッセージがある場合にのみプロパティ値が表示されるように変更しました。

    • liveChatMessage リソースの更新
      • snippet.type プロパティは、messageDeletedEventuserBannedEvent という 2 つの新しい値をサポートします。これらは、以下の箇条書きで説明する新しいプロパティに対応します。また、これらの新しいメッセージ タイプでプロパティ値が識別するものを説明するために、snippet.authorChannelId プロパティの定義も更新されました。

      • liveChatMessage リソースには、次の新しいプロパティが含まれています。

        プロパティ
        snippet.messageDeletedDetails このオブジェクトには、チャット モデレーターによって削除されたメッセージに関する情報が含まれています。このオブジェクトが存在するのは、snippet.type プロパティ値が messageDeletedEvent である場合のみです。
        snippet.userBannedDetails このオブジェクトには、チャットへの参加が拒否されたユーザーに関する情報が含まれています。このオブジェクトには、禁止自体に関する情報(禁止が恒久的か一時的なものか)も含まれます。禁止が一時的なものである場合は、オブジェクトのプロパティのいずれかで禁止期間を指定します。

        このオブジェクトは、snippet.type プロパティの値が userBannedEvent の場合にのみ存在します。
  • 新しいエラーと更新エラー

    • API では、次の新しいエラーがサポートされています。

      エラーの詳細
      liveBroadcasts.bind liveBroadcasts.bind メソッドは 403Forbidden)エラーを返します。これは、ユーザーが特定の期間内に送信したリクエストが多すぎることを示します。エラーの理由は userRequestsExceedRateLimit です。

      liveBroadcasts.insert メソッドと liveBroadcasts.update メソッドはすでに同じエラーをサポートしています。
      liveStreams.insert liveStreams.insert メソッドは、リクエストが挿入しようとした liveStream リソース内の無効なプロパティ値を識別する 4 つの新しい 400Bad Request)エラーをサポートしています。エラーの理由とそれに関連するプロパティは、以下のとおりです。
      liveStreams.insert liveStreams.insert メソッドは 2 つの新しい 400Bad Request)エラーをサポートします。各エラーは、リクエストが挿入しようとした liveStream リソースに必要な値が存在しないことを示します。エラーの理由とそれに関連するプロパティは、以下のとおりです。
      具体的には、liveStream リソースを挿入する場合は、cdn.format プロパティ、または cdn.frameRate および cdn.resolution プロパティのいずれかに値を指定する必要があります。
      • 3 つのプロパティのいずれにも値を指定しないと、API から formatRequired エラーが返されます。
      • cdn.frameRate ではなく cdn.resolution の値を指定すると、API から frameRateRequired エラーが返されます。
      • cdn.resolution ではなく cdn.frameRate の値を指定すると、API から resolutionRequired エラーが返されます。
      liveStreams.update リクエストが次の変更不可プロパティの値を変更しようとすると、liveStreams.update メソッドは 403Forbidden)エラーを返します。 エラー レスポンスの reasonliveStreamModificationNotAllowed です。

2015 年 12 月 18 日

欧州連合(EU)の法律では、EU 域内のエンドユーザーに対して特定の開示を行い、エンドユーザーから同意を得ることが義務付けられています。そのため、欧州連合(EU)のエンドユーザーに対しては、EU ユーザーの同意ポリシーを遵守する必要があります。YouTube API 利用規約に、この要件に関する通知を追加しました。

2015 年 12 月 17 日

この改訂での変更内容は次のとおりです。

  • 新しいリソースとメソッド

    • この API では、ライブ配信のチャット機能をサポートする新しいリソースがいくつかサポートされています。YouTube は配信中のチャット機能をサポートしています。これらのリソースとそのメソッドは、チャット メッセージの取得とチャットの管理機能をサポートしています。

      関連情報
      liveChatMessage このリソースは YouTube チャットのメッセージを表します。YouTube は、テキスト メッセージや視聴者ファンディング イベントなど、数種類のメッセージをサポートしています。メッセージ タイプによっては、スポンサー限定期間の開始やチャットの終了など、チャットの特定のフェーズを識別するものがあります。API は、チャット メッセージを一覧表示、挿入、削除するメソッドをサポートしています。
      liveChatModerators このリソースはチャット モデレーターを識別します。管理者は、ユーザーのチャットへの参加禁止やメッセージの削除など、いくつかの管理機能を実行できます。この API では、チャット モデレーターを一覧表示、挿入、削除するメソッドがサポートされています。
      liveChatBans このリソースは、特定のチャットへのメッセージの投稿が禁止されているユーザーを識別します。参加禁止には一時的または恒久的なものがあります。API は、チャットの禁止を挿入、削除するメソッドをサポートしています。
      fanFundingEvents このリソースは YouTube チャンネルでの視聴者ファンディング イベントを表します。視聴者ファンディングは、視聴者が 1 回限りの金銭的サポートで YouTube クリエイターを自発的にサポートするための機能です。

      API の fanFundingEvents.list メソッドは、チャンネルの視聴者ファンディング イベントをリストします。チャンネルが所有するライブ配信中にチャットから開始される視聴者ファンディング イベントも、配信のチャットへの fanFundingEvent メッセージをトリガーします。

      視聴者ファンディングについて詳しくは、YouTube ヘルプセンターをご覧ください。
      sponsors sponsor リソースは、YouTube チャンネルのスポンサーを識別します。スポンサーはチャンネルに月額料金を支払います。バッジは、チャンネルのチャットでスポンサーのメッセージの横に表示されます。スポンサーは、チャンネルのスポンサー専用のチャットに参加することもできます(参加した場合)。

      API の sponsors.list メソッドは、チャンネルのスポンサーをリストします。チャンネルが所有するライブ配信中にユーザーがチャンネルのスポンサー登録を行うと、API によってブロードキャストのチャットに newSponsorEvent メッセージも追加されます。

      スポンサーシップについて詳しくは、YouTube ヘルプセンターをご覧ください。

  • 既存のリソースとメソッドの更新

    • liveBroadcast リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.liveChatId 配信の YouTube チャットの ID。この ID により、liveChatMessage リソースのメソッドを使用してチャット メッセージを取得、挿入、削除できます。チャット モデレーターの追加または削除、チャットへの参加の禁止、既存の参加禁止の削除を行うこともできます。
      contentDetails.closedCaptionsType 注: このプロパティは contentDetails.enableClosedCaptions プロパティに置き換えられます。

      このプロパティは、ブロードキャストで字幕が有効になっているかどうかと、有効になっている場合はどのような種類の字幕を提供しているかを示します。
      • closedCaptionsDisabled: ライブ配信で字幕が無効になります。
      • closedCaptionsHttpPost: ライブ配信に関連付けられた取り込み URL に HTTP POST を使用して字幕を送信します。
      • closedCaptionsEmbedded: 字幕は EIA-608 形式や CEA-708 形式を使用して動画ストリームでエンコードされます。
      contentDetails.enableClosedCaptions このプロパティは 2015 年 12 月 17 日をもって非推奨となりました。代わりに contentDetails.closedCaptionsType プロパティを使用してください。すでにこのプロパティを使用している API クライアントの場合:
      • プロパティ値を true に設定することは、contentDetails.closedCaptionsType プロパティを closedCaptionsHttpPost に設定するのと同等です。
      • プロパティ値を false に設定することは、contentDetails.closedCaptionsType プロパティを closedCaptionsDisabled に設定するのと同等です。
    • liveBroadcasts.list メソッドの新しい broadcastType パラメータを使用すると、イベント ブロードキャスト、永続的なブロードキャスト、またはすべてのブロードキャストが含まれるように API レスポンスをフィルタリングできます。

      永続的なブロードキャストとは、常に存在し、特定のイベントに関連付けられないブロードキャストです。具体的には、チャンネルのデフォルトの配信は永続的な配信であり、YouTube クリエイター ツールのライブ ダッシュボードからアクセスできます。チャンネルの他のブロードキャストはイベント ブロードキャストです。

  • liveStream リソースの status.healthStatus.configurationIssues[].type フィールドで、次の新しいヘルス ステータス エラーが報告されます。

    エラー
    audioTooManyChannels 音声のチャンネルが 3 つ以上あるが、サポートされているのは 1(モノ)または 2(ステレオ)のチャンネルのみです。音声チャンネル数を修正してください。
    frameRateHigh 現在のフレームレートが高すぎます。フレームレートは %(framerate)s fps 以下に設定してください。
  • 前回のドキュメント更新の公開日を修正しました。

  • 新しいエラーと更新エラー

    • 上記の新しいリソースに対して定義されたエラーに加えて、API では次の新しいエラーがサポートされています。

      エラーの詳細
      liveBroadcasts.update
      HTTP レスポンス コードforbidden (403)
      理由closedCaptionsTypeModificationNotAllowed
      説明contentDetails.closedCaptionsType 値は、ブロードキャストが created または ready ステータスの場合にのみ変更できます。
      liveBroadcasts.update
      HTTP レスポンス コードinvalidValue (400)
      理由invalidEnableClosedCaptions
      説明liveBroadcast リソースcontentDetails.enableClosedCaptions プロパティの値が contentDetails.closedCaptionType 設定の値と互換性がありません。2 つのプロパティのいずれかのみが含まれるようにリソースを変更してから、リクエストを再送信します。

2015 年 8 月 19 日

この改訂での変更内容は次のとおりです。

  • 新しいリソースとメソッド

    • 注: liveChat リソースとそのメソッドのドキュメントは機密情報であり、一部の YouTube パートナーにのみ表示されます。

      新しい liveChat リソースには、YouTube のライブ配信中に投稿されたコメントが含まれています。API では、このリソースに対して次の 2 つのメソッドがサポートされています。

      Methods
      liveChats.list ブロードキャストのチャット メッセージを一覧表示する。
      liveChats.insert 新しいチャット メッセージを作成する。

      チャット メッセージは、配信中にのみ取得して投稿できます。

  • 既存のリソースとメソッドの更新

    • liveStream リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.isDefaultStream このストリームがチャンネルのデフォルト ストリームかどうかを示します。チャンネルのデフォルト ストリームは無期限に存在し、開始時間や終了時間はなく、削除することもできません。デフォルト ストリームの仕組みについて詳しくは、プロパティの定義をご覧ください。
      status.healthStatus このオブジェクトには、ストリーミングの問題の特定、診断、解決に使用できる情報が含まれています。このオブジェクトには、ライブ動画ストリームの状態を評価するのに役立つ子プロパティが多数含まれています。

      特に、status.healthStatus.configurationIssues[] オブジェクトは、動画ストリームに影響する問題をリストします。新しいドキュメントであるライブ ストリーム リソースの設定に関する問題には、API で報告されるすべての問題が記載されています。
      contentDetails.isReusable ストリームが再利用可能かどうか、つまり複数のブロードキャストにバインドできるかどうかを示します。ブロードキャストのタイミングが異なる場合、配信事業者は多数の異なるブロードキャストに同じストリームを再利用するのが一般的です。
    • liveBroadcast リソースには、次の新しいプロパティが含まれています。

      プロパティ
      snippet.isDefaultBroadcast このブロードキャストがチャンネルのデフォルト ブロードキャストかどうかを示します。YouTube チャンネルでライブ配信を有効にすると、デフォルトのストリームと、そのチャンネルのデフォルトのブロードキャストが作成されます。ストリームは、チャンネル所有者が YouTube にライブ動画を送信する方法を定義します。ブロードキャストは、視聴者にデフォルトのストリームを表示するためのものです。デフォルトのブロードキャストの仕組みの詳細については、プロパティの定義を参照してください。
      contentDetails.enableLowLatency このブロードキャストを低レイテンシ ストリーミング用にエンコードするかどうかを示します。低レイテンシ ストリームにより、配信を視聴するユーザーに動画が表示されるまでの時間は短縮できますが、ストリームの視聴者の解像度にも影響する場合があります。
      statistics.totalChatCount ブロードキャストに関連付けられたチャット メッセージの合計数。ブロードキャストがユーザーに表示され、チャット機能が有効になっている場合は、このプロパティとその値が存在します。なお、このプロパティでは、ブロードキャストの終了後に値は指定されません。そのため、このプロパティでは、完了したライブ配信のアーカイブされた動画のチャット メッセージ数は識別されません。
  • 新しいエラーと更新エラー

    • 新しい liveChat リソースで定義されたエラーに加えて、API では次の新しいエラーがサポートされています。

      エラーの詳細
      liveStreams.update
      HTTP レスポンス コードforbidden (403)
      理由liveStreamModificationNotAllowed
      説明API では、再利用可能なストリームを再利用不可に変更することはできません(その逆も同様です)。詳細については、ブロードキャストとストリームについてをご覧ください。

2015 年 5 月 21 日

この改訂での変更内容は次のとおりです。

  • YouTube が 60 フレーム/秒(fps)のライブ動画ストリーミングに対応しました。これにより、ゲーム動画などの動きの速い動画をスムーズに再生できるようになりました。YouTube でライブ配信を 60 fps で開始した場合、高フレームレートの視聴がまだサポートされていないデバイスでも、30 fps でライブ配信を使用できます。

    liveStream リソースの cdn.format プロパティは、この機能に対して 720p_hfr1080p_hfr という 2 つの新しい値をサポートしています。

    この機能について詳しくは、YouTube クリエイター ブログをご覧ください。

2014 年 8 月 21 日

この改訂での変更内容は次のとおりです。

  • liveBroadcasts.control メソッドの walltime パラメータの定義を更新し、プロパティ値が ISO 8601 形式(YYYY-MM-DDThh:mm:ss.sssZ)で指定されていることを示すようにしました。

  • API で次のエラーがサポートされるようになりました。

    エラーのタイプ エラーの詳細 説明
    insufficientPermissions liveStreamingNotEnabled API リクエストを承認したユーザーが YouTube でライブ動画のストリーミングを有効にしていない場合、liveBroadcast リソースと liveStream リソースのすべてのメソッドでこのエラーが返されます。ユーザーがライブ動画をストリーミングできない理由の説明は、ユーザーのチャンネル設定(https://www.youtube.com/features)で確認できます。
    rateLimitExceeded userRequestsExceedRateLimit liveBroadcasts.insert メソッドと liveStreams.insert メソッドはどちらもこのエラーを返し、ユーザーが特定の期間内に送信したリクエストが多すぎることを示します。

2014 年 5 月 2 日

この改訂での変更内容は次のとおりです。

  • liveStream リソースと liveBroadcasts.bind メソッドの説明を更新し、1 つのブロードキャストを 1 つの動画ストリームにしかバインドできないが、1 つの動画ストリームは複数のブロードキャストにバインドできることを説明しました。この変更はドキュメントの修正にすぎません。基盤となる API の機能に変更はありません。

  • liveBroadcast リソースの contentDetails.monitorStream.enableMonitorStream プロパティが更新され、プロパティの値が true の場合、live 状態に移行する前にブロードキャストを testing 状態に移行する必要があることを説明します。(プロパティの値が false の場合、ブロードキャストに testing ステージを含めることはできないため、ブロードキャストを直接 live 状態に移行できます。

  • liveCuepoint リソースの settings.offsetTimeMs プロパティが更新され、ブロードキャストに監視ストリームがない場合はプロパティの値を指定できないことが明記されました。

  • liveBroadcast リソースと liveStream リソースのすべてのメソッドが onBehalfOfContentOwner パラメータと onBehalfOfContentOwnerChannel パラメータをサポートするようになりました。これらのパラメータを使用すると、同じコンテンツ所有者に関連付けられた複数のチャンネルに対して、同じ認証情報を使用して API リクエストを完了できます。

  • liveCuepoints.insert メソッドのドキュメントが更新され、settings.walltime プロパティの値をそのメソッドを呼び出すときに設定できることを記載しました。

  • エラー ドキュメントでは、エラーの種類ごとに HTTP レスポンス コードを指定するようになりました。

  • API で次のエラーがサポートされるようになりました。

    エラーのタイプ エラーの詳細 説明
    insufficientPermissions livePermissionBlocked liveBroadcasts.insertliveBroadcasts.transitionliveStreams.insert メソッドは、リクエストを承認したユーザーが YouTube でライブ動画をストリーミングできない場合にこのエラーを返します。ユーザーがライブ動画をストリーミングできない理由の説明は、ユーザーのチャンネル設定(https://www.youtube.com/features)で確認できます。
  • liveBroadcasts.insert メソッドの invalidScheduledStartTime エラーを更新し、スケジュール設定された開始時間を現在の日付に十分に近づけて配信を確実にスケジュール設定できることを明確にしました。

2013 年 12 月 13 日

この改訂での変更内容は次のとおりです。

  • liveBroadcast リソースの新しい status.recordingStatus プロパティは、ブロードキャストの現在のステータスを識別します。

  • liveBroadcast リソースの新しい contentDetails.enableClosedCaptions プロパティは、ブロードキャストで字幕を取り込むことができるかどうかを示します。プロパティ値はブロードキャストの挿入時または更新時に設定できますが、ブロードキャストが testing または live 状態になると更新できなくなります。このプロパティを true に設定すると、ブロードキャストにバインドされている liveStream リソースは、ブロードキャストのクローズド キャプションに使用する取り込み URL を指定します。

  • liveBroadcast リソースの snippet.scheduledEndTime プロパティが、無期限に継続するようにスケジュール設定されたブロードキャストをサポートするようになりました。この変更により、liveBroadcasts.insert リクエストと liveBroadcasts.update リクエストでこのプロパティが不要になりました。

    このプロパティに値が指定されていない liveBroadcast リソースを取得すると、ブロードキャストは無期限に継続するようにスケジュールされます。同様に、liveBroadcasts.insert メソッドまたは liveBroadcasts.update メソッドを呼び出したとき、このプロパティの値を指定しなかった場合、ブロードキャストは無期限に継続するようにスケジュールされます。

  • liveBroadcast リソースの contentDetails.recordFromStart プロパティ(デフォルト値: true)は、配信チャネルでライブ配信の録画を無効にできる場合にのみ、false に設定できるようになりました。

    録画を無効にする権限がチャンネルにない場合、recordFromStart プロパティを false に設定してブロードキャストを挿入しようとすると、API から Forbidden エラーが返されます。また、チャンネルにこの権限がない場合、recordFromStart プロパティを false に設定するようにブロードキャストを更新しようとすると、API から modificationNotAllowed エラーが返されます。

  • liveBroadcast リソースに enableArchive プロパティが含まれなくなりました(contentDetails.enableDvr プロパティと contentDetails.enableEmbed プロパティの説明で説明した)。

  • liveBroadcast リソースの status.lifeCycleStatus プロパティの有効な値のリストが更新され、各ステータスの説明が含まれるようになりました。

  • liveCuepoint リソースの新しい settings.walltime プロパティには、キューポイントを挿入する日付と時刻を指定します。このプロパティと settings.offsetTimeMs プロパティの値を指定するキューポイントを挿入しようとすると、API からエラーが返されます。

  • liveStream リソースの新しい contentDetails オブジェクトには、ストリームに関する情報が含まれます。現在、このオブジェクトのプロパティは contentDetails.closedCaptionsIngestionUrl のみです。このプロパティは、動画ストリームに関連付けられた字幕の取り込み URL を指定します。

  • liveStream リソースの status.streamStatus プロパティの有効な値のリストが更新され、各ステータスの説明が含まれるようになりました。

  • liveBroadcasts.control メソッドの新しい walltime パラメータを使用すると、スレートの変更が発生する日時を指定できます。リクエストでこのパラメータと offsetTimeMs パラメータの値を指定すると、API からエラーが返されます。

  • liveBroadcasts.list リクエストに対する API レスポンスで、kind プロパティの値が youtube#liveBroadcastList から youtube#liveBroadcastListResponse に変更されました。

  • liveStreams.list リクエストに対する API レスポンスで、kind プロパティの値が youtube#liveStreamList から youtube#liveStreamListResponse に変更されました。

  • eventId プロパティは、liveBroadcastListResponseliveStreamListResponse の両方で非推奨になりました。

  • API では、次の新しいエラーがサポートされています。

    エラーのタイプ エラーの詳細 説明
    invalidValue conflictingTimeFields リクエストで offsetTimeMs パラメータと walltime パラメータの値を指定すると、liveBroadcasts.control メソッドはこのエラーを返します。リクエストで、両方のパラメータを省略することも、2 つのパラメータのどちらか一方の値を指定することもできます。
    invalidValue invalidWalltime walltime パラメータの値が無効な場合、liveBroadcasts.control メソッドはこのエラーを返します。
    forbidden enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions 値を更新しようとしたときにブロードキャストのステータスが created または ready ではない場合、liveBroadcasts.update メソッドはこのエラーを返します。
    invalidValue conflictingTimeFields リクエストで settings.offsetTimeMs プロパティと settings.walltime プロパティの値が指定されている場合、liveCuepoints.insert メソッドはこのエラーを返します。要求では、両方のプロパティを省略することも、2 つのプロパティのいずれかに値を指定することもできます。

    また、liveStreams.update メソッドでは、liveStreams.insert メソッドでサポートされるような cdnRequired エラーがサポートされなくなりました。

2013 年 5 月 10 日

この改訂での変更内容は次のとおりです。

2013 年 5 月 2 日

この改訂での変更内容は次のとおりです。

2013 年 3 月 27 日

この改訂での変更内容は次のとおりです。

  • liveBroadcast リソースの次のプロパティが変更されました。

    • startWithSlateCuepoint プロパティの名前が startWithSlate に変更されました。
    • enableArchive プロパティの名前が recordFromStart に変更されました。
    • slateSettings オブジェクトは非推奨になり、ドキュメントから削除されました。また、slateSettings オブジェクトまたはそのプロパティに関連するエラー メッセージも削除されました。また、スタートガイドの「スレートの表示」セクションを削除しました。

  • API では、liveCuepoints.insert メソッドを使用してインストリーム スレートを挿入する機能がサポートされなくなりました。この変更に伴い、次のドキュメントが更新されました。

2013 年 3 月 18 日

この改訂での変更内容は次のとおりです。

  • API のすべてのエラー メッセージが更新され、発生する可能性のあるエラーについてより明確に説明されるようになりました。また、可能な場合は修正方法も記載されています。

  • API からいくつかの新しいエラーが返されるようになりました。エラーとそのエラーを返す可能性のある API メソッドを下記のリストに示します。

    • liveBroadcasts.insert – ブロードキャストの終了予定時刻は予定開始時刻より後である必要があります。
    • liveBroadcasts.insert – ブロードキャストが無効なプライバシー ステータスを指定しています。
    • liveBroadcasts.update – リソースに contentDetails.enableArchive プロパティの値が含まれていないか、設定されていません。
    • liveBroadcasts.update – リソースに contentDetails.enableContentEncryption プロパティの値が含まれていないか、設定されていません。
    • liveBroadcasts.update – リソースに contentDetails.enableDvr プロパティの値が含まれていないか、設定されていません。
    • liveStreams.insert – スニペットのタイトルは 1 ~ 128 文字にする必要があります。
    • liveStreams.update – リソースに snippet.title プロパティの値が含まれていないか、設定されていません。

  • liveStream リソース ドキュメントを更新し、以前に示したマルチキャストと WebM は取り込み方法としてサポートされていないことを反映しました。それに応じて cdn.format プロパティの形式のリストが更新され、cdn.multicastIngestionInfo オブジェクトとその子プロパティはリソースのドキュメントから削除されました。また、サポートされている cdn.ingestionType 値のリストから http を削除しました。