次の例は、YouTube Data API(v3)を使用して動画に関連する機能を実行する方法を示しています。
チャンネルにアップロードされた動画を取得する
この例では、特定のチャンネルにアップロードされた動画を取得します。この例では、次の 2 つのステップを行います。
-
ステップ 1: チャンネルにアップロードされた動画の再生リスト ID を取得する
channels.list
メソッドを呼び出して、チャンネルにアップロードされた動画を含む再生リストの ID を取得します。リクエストのpart
パラメータ値には、取得するchannel
リソース パーツの 1 つとしてcontentDetails
を含める必要があります。API レスポンスでは、contentDetails.relatedPlaylists.uploads
プロパティにプレイリスト ID が含まれます。チャンネルを識別する方法はいくつかあります。
-
mine
パラメータの値をtrue
に設定して、現在認証されているユーザーの YouTube チャンネルの情報を取得します。リクエストは OAuth 2.0 を使用して承認される必要があります。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
forUsername
パラメータを YouTube ユーザー名に設定して、そのユーザー名に関連付けられているチャンネルの情報を取得します。この例では、forUsername
パラメータ値をGoogle
に設定して、Google の公式 YouTube チャンネルの情報を取得しています。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
id
パラメータを、情報を取得するチャンネルを一意に識別する YouTube チャンネル ID に設定します。この例では、id
パラメータをUCK8sQmJBp8GCxrOtXWBpyEA
に設定します。これにより、Google の公式 YouTube チャンネルも識別されます。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
ステップ 2: アップロードした動画のリストを取得する
playlistItems.list
メソッドを呼び出して、アップロードされた動画のリストを取得します。playlistId
パラメータの値を手順 1 で取得した値に設定します。この例では、パラメータ値はUUK8sQmJBp8GCxrOtXWBpyEA
(Google の公式 YouTube チャンネルにアップロードされた動画のリスト)に設定されています。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
人気の動画を取得する
この例では、YouTube で特に人気の高い動画のリストを取得する方法を示します。このアルゴリズムは、さまざまなシグナルを組み合わせて全体的な人気度を判断するアルゴリズムを使用して選択されています。
特に人気の高い動画リストを取得するには、videos.list
メソッドを呼び出し、chart
パラメータの値を mostPopular
に設定します。このリストを取得する場合は、以下のパラメータのいずれかまたは両方を設定することもできます。
regionCode
: 指定した地域の動画のリストを返すように API に指示します。videoCategoryId
: 最も人気のある動画を取得する動画のカテゴリを指定します。
次のリクエストでは、スペインで特に人気のあるスポーツ動画を取得します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
動画のアップロード
API Explorer はファイルのアップロード機能をサポートしていないため、この説明は実行例にリンクされていません。v3 API を使用して動画をアップロードできるようにアプリケーションを変更する際は、次のリソースを参考にしてください。
-
API の videos.insert メソッドのドキュメントには、さまざまなプログラミング言語を使用して動画をアップロードする方法を説明するコードサンプルが含まれています。
-
再開可能なアップロードのガイドでは、再開可能なアップロードのプロセスを使用して動画のアップロードに使用する HTTP リクエストのシーケンスについて説明します。このガイドは主に、再開可能なアップロードのネイティブ サポートを提供する Google API クライアント ライブラリを使用できないデベロッパーを対象としています。
-
動画のアップロードの JavaScript の例では、CORS(クロスオリジン リソース シェアリング)を使用して、ウェブページから動画ファイルをアップロードする方法を示します。v3 API が使用する CORS アップロード ライブラリは、当然、再開可能なアップロードをサポートしています。また、この例は、
video
リソースのprocessingDetails
部分を取得して、アップロードされた動画のステータスを確認し、アップロードした動画のステータス変更を処理する方法を示しています。
アップロードした動画のステータスを確認する
この例は、アップロードした動画のステータスを確認する方法を示しています。アップロードした動画は、認証済みユーザーのアップロード動画フィードにすぐに表示されます。処理が完了するまで、動画は YouTube に表示されません。
-
ステップ 1: 動画をアップロードする
videos.insert
メソッドを呼び出して、動画をアップロードします。リクエストが成功すると、アップロードされた動画の一意の動画 ID を識別するvideo
リソースが API レスポンスに含まれます。 -
ステップ 2: 動画のステータスを確認する
videos.list
メソッドを呼び出して、動画のステータスを確認します。id
パラメータの値を、ステップ 1 で取得した動画 ID に設定します。part
パラメータの値をprocessingDetails
に設定します。リクエストが正常に処理されると、API レスポンスに
video
リソースが含まれます。processingDetails.processingStatus
プロパティの値を確認して、YouTube がまだ動画を処理しているかどうかを確認してください。YouTube が動画の処理を完了すると、プロパティの値はprocessing
以外(succeeded
、failed
など)に変更されます。リクエストの本文は、
id
プロパティが削除する動画の動画 ID を指定するvideo
リソースです。この例では、リソースにrecordingDetails
オブジェクトも含まれています。以下のリクエストでは、動画のステータスを確認します。APIs Explorer でリクエストを完了するには、
id
プロパティの値を設定する必要があります。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
注: アプリケーションは API をポーリングして、新しくアップロードされた動画のステータスを定期的にチェックできます。動画の処理後、アプリケーションは公開情報を作成するか、動画のステータスに基づいた別の措置に進むことができます。
動画の更新
この例では、動画を更新して、動画が撮影された時間と場所に関する情報を追加する方法を示します。この例の手順は次のとおりです。
-
ステップ 1: 動画 ID を取得する
上記の手順に沿って、現在認証されているユーザーのチャンネルのアップロード動画を取得します。このリストは、各動画の ID をキーとして使用して、動画のリストを表示できます。
注: 動画 ID を取得する方法は他にも、検索結果の取得や再生リストへのアイテムの追加など、多数あります。ただし、動画を更新できるのは所有者だけです。そのため、API リクエストを承認したユーザーが所有する動画のリストを取得することは、その最初のステップとなると考えられます。
-
ステップ 2: 動画を更新する
videos.update
メソッドを呼び出して、特定の動画を更新します。part
パラメータの値をrecordingDetails
に設定します。(パラメータ値は、更新される動画のメタデータ フィールドによって異なります)。リクエストの本文は、
id
プロパティで更新する動画の動画 ID を指定するvideo
リソースです。この例では、リソースにrecordingDetails
オブジェクトも含まれています。以下のサンプル リソースは、この動画が 2013 年 10 月 30 日にボストンで撮影されたことを示しています。
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
APIs Explorer でリクエストを完了するには、
id
プロパティの値を設定する必要があります。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
カスタム サムネイル画像をアップロードして動画に設定する
v3 API の thumbnails.set
メソッドを使用して、カスタム サムネイル画像をアップロードし、動画に設定できます。リクエストでは、videoId
パラメータの値でサムネイルが使用される動画を指定します。
API Explorer ではメディア ファイルのアップロード機能をサポートしていないため、このクエリは API Explorer でテストできません。これは、このメソッドの要件となっています。
動画の削除
この例では、動画を削除する方法を示します。この例の手順は次のとおりです。
-
ステップ 1: 動画 ID を取得する
上記の手順に沿って、現在認証されているユーザーのチャンネルのアップロード動画を取得します。このリストは、各動画の ID をキーとして使用して、動画のリストを表示できます。
注: 動画 ID を取得する方法は他にも、検索結果の取得や再生リストへのアイテムの追加など、多数あります。ただし、動画を削除できるのは所有者だけです。そのため、API リクエストを承認したユーザーが所有する動画のリストを取得することは、その最初のステップとなると考えられます。
-
ステップ 2: 動画を削除する
videos.delete
メソッドを呼び出して、特定の動画を削除します。リクエストでは、id
パラメータは、削除する動画の動画 ID を指定します。このリクエストは OAuth 2.0 を使用して承認される必要があります。API Explorer でこのクエリをテストする場合は、id
パラメータの値を有効な動画 ID に置き換える必要があります。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
不正な動画を報告する
この例は、不適切なコンテンツを含む動画を報告する方法を示しています。この例の手順は次のとおりです。
-
ステップ 1: 動画が報告される理由を説明する ID を取得する
videoAbuseReportReasons.list
メソッドに承認済みのリクエストを送信して、動画を報告する正当な理由のリストを取得します。以下のvideoAbuseReportReason
リソースのサンプルには、スパムや誤解を招くコンテンツを含む動画を報告する情報が含まれています。{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }
リソースに示されているように、この理由は二次的な理由のリストに関連付けられています。スパムが含まれる動画をご報告いただく際は、理由の ID をお知らせいただく必要があります。また、追加の理由も提示することが強く推奨されます。
-
ステップ 2: 不適切なコンテンツを報告する
実際に動画を報告するには、
JSON オブジェクトのvideos.reportAbuse
メソッドに承認済みのリクエストを送信します。リクエスト本文は JSON オブジェクトで、報告対象の動画と報告した理由の両方を識別します。ステップ 1 で説明したように、なんらかの理由でなんらかの理由からサポートが強く推奨されます。videoId
プロパティは、フラグが付けられた動画を識別します。以下の JSON オブジェクトのサンプルは、スパムや誤解を招くコンテンツが含まれている動画を報告します。具体的には、誤解を招くサムネイル画像を使用している動画を報告します。上の JSON オブジェクトの例では、スパムまたは誤解を招くコンテンツの ID は S です。誤解を招くサムネイルの ID は 28 です。
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }
videos.reportAbuse
リクエストは、OAuth 2.0 を使用して承認される必要があります。以下のリンクから API Explorer に上記の JSON オブジェクトを読み込みます。クエリをテストするには、videoId
プロパティ値を有効な動画 ID に置き換える必要があります。このリクエストを送信すると、実際には動画が報告されることにご注意ください。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse