YouTube API サービス - 必要な最低限の機能

注: YouTube デベロッパー ポリシーに準拠するには、API クライアントが YouTube API サービスの利用規約ポリシー(API TOS)の特定の部分に準拠できるようにするためのガイダンスと例が記載されています。このガイドでは、YouTube が API 利用規約の特定の部分をどのように適用しているかについて説明していますが、既存のドキュメントに代わるものではありません。

このドキュメントでは、YouTube API サービスの特定の機能を実装またはアクセスを提供する API クライアント(「API クライアント」)の最小機能要件を定義します。

これらの要件とガイドラインは、API クライアントが YouTube ユーザー、コンテンツ所有者、広告主の利益を保護し、一貫したユーザー エクスペリエンスを提供できるようにすることを目的としています。これらのルールは YouTube API 利用規約の不可欠な部分であり、API クライアントの開発と実装において遵守する必要があります。

既存の YouTube 機能のユーザー エクスペリエンスを向上させるため、このドキュメントの要件は変更される可能性があります。また、YouTube の機能の追加や更新に応じて変更されることもあります。このような変更により、新しい要件に対応するために API クライアントを更新しなければならない場合があります。利用規約の改訂履歴に変更が記録されます。API クライアントに影響する可能性のある変更をすばやく把握できるよう、このドキュメントを頻繁に確認するか、RSS フィードの登録をおすすめします。

このドキュメントの要件に加えて、YouTube API サービスのポリシーと YouTube API サービスのドキュメントの他の場所で説明されているベスト プラクティスに従うことを強くおすすめします。厳密に必要でないとしても、これらの方法は、割り当てを行う YouTube API サービスを使用している API クライアントがエラーからより迅速に復旧し、割り当て使用量を最適化するのに役立ちます。同時に、こうしたプラクティスは YouTube エコシステムの健全性を確保し、何よりも API クライアントと YouTube アプリのユーザーに最適なエクスペリエンスを提供するために役立ちます。

YouTube 埋め込みプレーヤーと動画の再生

このセクションの要件は、埋め込みの YouTube プレーヤーに固有のものです。YouTube API サービス ポリシーには、YouTube の映像コンテンツを再生する API クライアントに関連するポリシーもいくつか含まれています。

埋め込み YouTube プレーヤーのサイズ

埋め込みプレーヤーには少なくとも 200px x 200px のビューポートが必要です。プレーヤーにコントロールが表示される場合は、ビューポートを最小サイズより小さくしなくてもコントロールが表示されるよう、十分な大きさを確保する必要があります。少なくとも幅 480 ピクセル、高さ 270 ピクセルの、アスペクト比 16:9 のプレーヤーをおすすめします。

自動再生とスクリプトによる再生

このセクションでは、自動再生について説明します。これは、autoplay プレーヤー パラメータを使用するか、YouTube IFrame Player API サービスまたは別の YouTube API サービスを使用して自動再生をプログラムで開始する YouTube 埋め込みプレーヤーに適用されます。

  • 動画を自動再生する埋め込みプレーヤーは、ページの読み込み時、または埋め込みプレーヤーが完全に表示された直後に再生を開始する必要があります。ただし、API クライアントは、プレーヤーがページまたは画面に表示され、プレーヤーの半分以上が表示されるまで、自動再生を開始してはなりません。

  • 1 つのページまたは画面に、コンテンツを同時に自動再生する YouTube プレーヤーを複数配置することはできません。

  • 再生を開始する YouTube のサムネイルは、幅 120 ピクセル、高さ 70 ピクセル以上である必要があります。

YouTube プレーヤーの属性

YouTube プレーヤーの属性とパラメータ(プレーヤーでの YouTube ブランドの表示など)は、YouTube API のドキュメントと仕様(https://developers.google.com/youtube)で指定されています。API ドキュメントに明記されていない変更を YouTube プレーヤーに加えてはなりません。

オーバーレイとフレーム

埋め込み YouTube プレーヤーの任意の部分(プレーヤーのコントロールなど)の前に、オーバーレイ、フレーム、その他の視覚要素を表示することはできません。同様に、オーバーレイ、フレーム、その他の視覚要素を使用して、埋め込みプレーヤーの一部(プレーヤーのコントロールなど)を隠すことはできません。

マウスオーバー

YouTube プレーヤーでマウスオーバーやタップイベントを使用して、ユーザーに代わってウィンドウを開く、チャンネルに登録するなどのアクションを開始することはできません。

動画のアップロード

API クライアントでユーザーが複数のプラットフォームにコンテンツをアップロードできるようにする場合は、動画をアップロードするプラットフォームを選択または選択解除できるようにする必要があります。

データ要件

ユーザーが YouTube に動画をアップロードできるようにする API クライアントは、次のリストの値を設定できるようにユーザーを有効にする必要があります。リストにないプロパティは省略可能です。

  名前 説明
リソースのプロパティ
snippet.title 必須。動画のタイトル。値が 100 文字を超えると、YouTube からエラーが返されます。YouTube では、<> を除くすべての有効な UTF-8 文字がサポートされています。

snippet.description 必須。動画の説明。値が 5,000 バイトを超えると、YouTube はエラーを返します。YouTube では、<> を除くすべての有効な UTF-8 文字がサポートされています。
status.privacyStatus 必須。動画のプライバシー設定。アップロードした動画を公開、非公開、限定公開のいずれにするか、ユーザーが選択できる必要があります。
リクエスト パラメータ
onBehalfOfContentOwnerChannel 条件付き必須。リクエストの認可認証情報でコンテンツ所有者が識別され、onBehalfOfContentOwner パラメータが設定されている場合、API ユーザーは動画をアップロードする YouTube チャンネルも指定できる必要があります。

コメントの表示

  名前 説明
リソースのプロパティ
snippet.textDisplay 必須。コメントのテキスト。API クライアントは、(a)コメントまたはコメント返信の全文を表示するか、(b)テキストを切り捨てて、切り捨てられたバージョンから全文に簡単にアクセスできるようにする必要があります。

この要件は、コメントが関連付けられているリソースの種類(動画、チャンネルなど)に関係なく、すべてのコメントとコメント返信に適用されます。

commentThread リソースの snippet.topLevelComment プロパティ値は comment リソースであり、replies.comments[] プロパティは comment リソースのリストです。そのため、この要件は snippet.topLevelComment.snippet.textDisplay プロパティと replies.comments[].snippet.textDisplay プロパティにも適用されます。
snippet.title
channel
必須(推奨)。チャンネルのタイトル。
  • コメントがチャンネルに関連する場合、API クライアントはチャンネルの名前を表示する必要があります。
  • コメントが動画に関連する場合、API クライアントは動画をアップロードしたチャンネルの名前を表示する必要があります。
snippet.title
video
条件付き必須(推奨)。動画のタイトル。コメントが動画に関連する場合は、この値を表示する必要があります。
snippet.moderationStatus 条件付き必須。API リクエストの moderationStatus パラメータ値が heldForReview または likelySpam の場合、プロパティ値、類似した表現(「このコメントは審査待ちです」など)、ヘッダー(「審査待ち」など)、またはその他の明確な表現を使用して、そのステータスを明確に示す必要があります。commentThreads.list メソッドは、管理ステータスに基づいてコメントを取得する機能をサポートしています。

コメントの追加

  名前 説明
リソースのプロパティ
snippet.title
channel
必須。チャンネルのタイトル。
  • ユーザーがチャンネルに関するコメントを追加する場合、API クライアントはチャンネルの名前を表示する必要があります。
  • ユーザーが動画に関するコメントを追加する場合、API クライアントは動画をアップロードしたチャンネルの名前を表示する必要があります。
snippet.title
video
必須。ユーザーが動画に関するコメントを追加する場合、API クライアントは動画のタイトルを表示する必要があります。
その他の要件
Comment author's channel name 必須。API クライアントは、コメントが関連付けられる YouTube ユーザー アカウントを明確に特定する必要があります。リクエストの認可認証情報でコンテンツ所有者が識別され、onBehalfOfContentOwner パラメータが設定されている場合、API ユーザーはコメントを関連付ける YouTube チャンネルも指定できる必要があります。

コメントの返信を追加する

  名前 説明
リソースのプロパティ
snippet.textDisplay 必須。コメントのテキスト。API クライアントは、このドキュメントのコメントの表示セクションで定義されているルールに従って、ユーザーが返信しているコメントのテキストを表示する必要があります。
snippet.title
channel
必須。チャンネルのタイトル。
  • ユーザーがチャンネルに関するコメントに返信する場合、API クライアントはチャンネルの名前を表示する必要があります。
  • ユーザーが動画に関するコメントに返信する場合、API クライアントは動画をアップロードしたチャンネルの名前を表示する必要があります。
snippet.title
video
必須。ユーザーが動画に関するコメントに返信する場合、API クライアントは動画のタイトルを表示する必要があります。
その他の要件
Comment author's channel name 必須。API クライアントは、コメントの返信が関連付けられる YouTube ユーザー アカウントを明確に識別する必要があります。リクエストの認可認証情報がコンテンツ所有者を識別し、onBehalfOfContentOwner パラメータが設定されている場合、API ユーザーはコメントの返信が関連付けられる YouTube チャンネルも指定できる必要があります。

コメントの返信の編集または削除

  名前 説明
リソースのプロパティ
snippet.textDisplay 必須。コメントのテキスト。API クライアントは、このドキュメントのコメントの表示セクションで定義されているルールに従って、ユーザーが編集または削除しているコメントのテキストを表示する必要があります。
snippet.title
channel
必須。チャンネルのタイトル。
  • ユーザーがチャンネルに関するコメントを編集または削除している場合、API クライアントはチャンネルの名前を表示する必要があります。
  • ユーザーが動画に関するコメントを編集または削除している場合、API クライアントは動画をアップロードしたチャンネルの名前を表示する必要があります。
snippet.title
video
必須。ユーザーが動画に関するコメントを編集または削除している場合、API クライアントは動画のタイトルを表示する必要があります。
その他の要件
Comment author's channel name 必須。API クライアントは、コメントが関連付けられている YouTube ユーザー アカウントを明確に特定する必要があります。

チャットでのユーザーの禁止(または禁止の解除)

  名前 説明
リソースのプロパティ
snippet.title
channel
必須。禁止または禁止解除される YouTube チャンネルの名前。また、名前はチャンネルにリンクされているか、チャンネルの URL も表示されている必要があります。
その他の要件
コメント投稿者のチャンネル名 必須。API クライアントは、禁止の追加または削除に使用される YouTube ユーザー アカウントを明確に識別する必要があります。