LiveBroadcasts: insert

API でライブ 配信を「子ども向け」としてマークできるようになりました。また、liveBroadcast リソースに、ライブ配信の「子ども向け」ステータスを示す プロパティが追加されました。YouTube API サービス利用規約とデベロッパー ポリシーも 2020 年 1 月 10 日に更新されました。詳しくは、YouTube Live Streaming API サービスとYouTube API サービス利用規約の改訂履歴をご覧ください。

ブロードキャストを作成します。

一般的なユースケース

リクエスト

HTTP リクエスト

POST https://www.googleapis.com/youtube/v3/liveBroadcasts

承認

このリクエストは、少なくとも次のうち 1 つのスコープでの承認が必要です(認証と承認の詳細をご確認ください)。

スコープ
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

パラメータ

次の表に、このクエリでサポートされているパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。

パラメータ
必須パラメータ
part string
このオペレーションでは、part パラメータには 2 つの目的があります。書き込みオペレーションで設定するプロパティと、API レスポンスに含めるプロパティを指定します。

パラメータ値に含めることができる part プロパティは、id、snippet、contentDetails、status です。
オプション パラメータ
onBehalfOfContentOwner string
このパラメータは、適切に承認されたリクエストでのみ使用できます。注: このパラメータは、YouTube コンテンツ パートナー専用です。

onBehalfOfContentOwner パラメータは、リクエストの承認情報が、パラメータ値で指定されたコンテンツ所有者の代理として行動する YouTube CMS ユーザーであることを示します。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザー認証に使用する CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされていなければなりません。
onBehalfOfContentOwnerChannel string
このパラメータは、適切に承認されたリクエストでのみ使用できます。このパラメータは、適切に承認されたリクエストでのみ使用できます。注: このパラメータは、YouTube コンテンツ パートナー専用です。

onBehalfOfContentOwnerChannel パラメータは、動画が追加されるチャンネルの YouTube チャンネル ID を指定します。このパラメータは、リクエストで onBehalfOfContentOwner パラメータの値を指定する場合に必要であり、そのパラメータと組み合わせてのみ使用できます。また、リクエストは、onBehalfOfContentOwner パラメータで指定されたコンテンツ所有者にリンクされている CMS アカウントを使用して承認する必要があります。最後に、onBehalfOfContentOwnerChannel パラメータ値で指定されたチャンネルは、onBehalfOfContentOwner パラメータで指定されたコンテンツ所有者にリンクされている必要があります。

このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、パラメータ値で指定されたチャンネルの代わりにアクションを実行できるようになります。チャンネルごとに認証情報を指定する必要はありません。

リクエストの本文

リクエストの本文に liveBroadcast リソースを指定します。 そのリソースの場合:

  • 以下のプロパティの値を指定する必要があります。

    • snippet.title
    • snippet.scheduledStartTime
    • status.privacyStatus
  • 以下のプロパティの値を指定することができます。

    • snippet.title
    • snippet.description
    • snippet.categoryId
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • status.selfDeclaredMadeForKids
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.availabilityConfig
    注: プロパティ テーブルには、リストされているプロパティに設定されているデフォルト値が記載されています。デフォルト値は、次のいずれかの場合に割り当てられます。
    • これらのプロパティの値を指定しない場合。
    • リクエストの part パラメータ値で、これらのプロパティを含む部分を指定しない場合。

レスポンス

成功すると、このメソッドはレスポンスの本文に liveBroadcast リソース を返します。

エラー

次の表に、このメソッドの呼び出しに応じて API が返す可能性のあるエラー メッセージを示します。詳しくは、エラー メッセージのドキュメントをご覧ください。

エラーのタイプ エラーの詳細 説明
insufficientPermissions insufficientLivePermissions リクエストにライブ配信を作成する権限がありません。
insufficientPermissions livePermissionBlocked リクエストを承認したユーザーは、現時点では YouTube でライブ動画をストリーミングできません。ユーザーがライブ動画をストリーミングできない理由については、https://www.youtube.com/features のユーザーのチャンネル設定で確認できます。
insufficientPermissions liveStreamingNotEnabled リクエストを承認したユーザーは、YouTube でライブ動画をストリーミングできません。詳しくは、https://www.youtube.com/features をご覧ください。
invalidValue (400) invalidAutoStart liveBroadcast リソース の contentDetails.enableAutoStart プロパティに無効な値が含まれています。 この設定は、すべてのブロードキャストでサポートされているわけではありません。
invalidValue (400) invalidAutoStop liveBroadcast リソース の contentDetails.enableAutoStop プロパティに無効な値が含まれています。永続的なブロードキャストの enableAutoStop 設定は変更できません。
invalidValue (400) invalidDescription liveBroadcast リソースで、snippet.description プロパティに有効な値が指定されていません。プロパティの値には最大 5,000 文字まで使用できます。
invalidValue (400) invalidEmbedSetting liveBroadcast リソースの contentDetails.enable_embed プロパティに無効な値が含まれています。このブロードキャストを埋め込むことはできません。
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast リソース の contentDetails.latencyPreference プロパティに無効な値が含まれています。 このレイテンシ設定では、すべての設定がサポートされているわけではありません。
invalidValue (400) invalidPrivacyStatus liveBroadcast リソースの status.privacy_status プロパティに無効な値が含まれています。
invalidValue (400) invalidProjection liveBroadcast リソースの contentDetails.projection プロパティに無効な値が含まれています。デフォルトのブロードキャストのプロジェクションを 360 に設定することはできません。
invalidValue (400) invalidScheduledEndTime liveBroadcast リソースの snippet.scheduledEndTime プロパティに無効な値が含まれています。予定終了時刻は予定開始時刻より後にする必要があります。
invalidValue (400) invalidScheduledStartTime liveBroadcast リソースの snippet.scheduledStartTime プロパティに無効な値が含まれています。予定開始時刻は将来の日付にする必要があり、その時刻にブロードキャストを確実にスケジュールできる程度に現在の日付に近い必要があります。
invalidValue (400) invalidTitle liveBroadcast リソースで、snippet.title プロパティに有効な値が指定されていません。プロパティの値は 1 ~ 100 文字にする必要があります。
limitExceeded userBroadcastsExceedLimit ユーザーが作成したライブ配信またはスケジュールされたブロードキャストが多すぎるため、 停止または削除する必要があります。
rateLimitExceeded userRequestsExceedRateLimit ユーザーが一定期間内に送信したリクエストが多すぎます。
required (400) privacyStatusRequired liveBroadcast リソースでプライバシー ステータスを指定する必要があります。有効な 値privacyStatusをご覧ください。
required (400) scheduledEndTimeRequired liveBroadcast リソースで snippet.scheduledEndTime プロパティを指定する必要があります。
required (400) scheduledStartTimeRequired liveBroadcast リソースで snippet.scheduledStartTime プロパティを指定する必要があります。
required (400) titleRequired liveBroadcast リソースで snippet.title プロパティを指定する必要があります。

試してみよう:

APIs Explorer を使用してこの API を呼び出し、API リクエストとレスポンスを確認します。