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.titlesnippet.scheduledStartTimestatus.privacyStatus
-
以下のプロパティの値を指定することができます。
snippet.titlesnippet.descriptionsnippet.categoryIdsnippet.scheduledStartTimesnippet.scheduledEndTimestatus.privacyStatusstatus.selfDeclaredMadeForKidscontentDetails.monitorStream.enableMonitorStreamcontentDetails.monitorStream.broadcastStreamDelayMscontentDetails.enableAutoStartcontentDetails.enableAutoStopcontentDetails.enableClosedCaptionscontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.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 リクエストとレスポンスを確認します。