実装: 再生リスト

次の例は、YouTube Data API(v3)を使用して、プレイリストとプレイリスト アイテムに関連する機能を実行する方法を示しています。

現在のユーザーの再生リストを取得する

playlists.list メソッドを呼び出して、現在認証されているユーザーのプレイリストを取得します。リクエストで、mine パラメータの値を true に設定します。mine パラメータを使用するリクエストは、OAuth 2.0 を使用して承認する必要があります。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.list?
        part=snippet,contentDetails
        &mine=true

ユーザーの再生リストを取得する

この例では、特定のチャンネルによって作成された再生リストを取得します。この例には次の 2 つのステップがあります。

特定の再生リストに関する情報を取得する

1 つ以上の特定の再生リストに関する情報を取得するには、playlists.list メソッドを呼び出し、id パラメータを目的のリソースを識別する YouTube 再生リスト ID のカンマ区切りのリストに設定します。この機能の一般的なユースケースは、一連の検索結果として返された再生リストのグループについて追加情報を取得することです。たとえば、各再生リストのアイテム数を取得できます。

以下のリクエストでは、playlists.list メソッドを呼び出して、クエリ語句「GoogleDevelopers」に一致する 2 つのプレイリスト内のアイテム数を取得します。この情報は playlist リソースの contentDetails.itemCount プロパティにあるため、リクエストでは part パラメータ値が contentDetails に設定されます。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.list?
        part=contentDetails
        &id=PLOU2XLYxmsIIM9h1Ybw2DuRw6o2fkNMeR,PLyYlLs02rgBYRWBzYpoHz7m2SE8mEZ68w

再生リストを追加する

この例では、playlists.insert メソッドを呼び出して、認証済みユーザーのチャンネルに非公開再生リストを作成します。このメソッドへの API リクエストはすべて、OAuth 2.0 を使用して承認する必要があります。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.insert?
        part=snippet,status

API Explorer へのリンクには、API リクエストの本文を指定するパラメータも設定されます。リクエストの本文には playlist リソースが含まれます。これにより、再生リストのタイトル、説明、プライバシー ステータスなどの情報が定義されます。この例では、リクエストの本文は次のようになります。

{
  "snippet": {
    "title": "New playlist",
    "description": "New playlist description"
  },
  "status": {
    "privacyStatus": "private"
  }
}

関連するコードサンプル: JavaJavaScript.NETPHPPython

プレイリストを更新する

この例では、プレイリストのプライバシー ステータスを private から public に更新します。この例には次の 2 つのステップがあります。

  • ステップ 1: 再生リスト ID を取得する

    playlist.list メソッドを呼び出して、現在認証されているユーザーのチャンネルの再生リストを取得します。上記の現在のユーザーのプレイリストを取得するサンプル リクエストは、このリクエストを示したものです。API を呼び出すアプリケーションは、API レスポンスを処理して、各再生リストの ID をキーとして、再生リストのリストを表示できます。

  • ステップ 2: 再生リストを更新する

    特定の再生リストを変更するには、playlists.update メソッドを呼び出します。このメソッドには、有効な OAuth 2.0 認証トークンが必要です。

    このメソッドを呼び出すときに snippet.title プロパティが必要になるため、リクエストの本文には playlist リソースの snippet 部分を含める必要があります。また、更新するプレイリスト リソースで snippet.description プロパティまたは snippet.tags プロパティの値を指定している場合は、更新リクエストでそれらの値を再指定しないと削除されます。

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.update?
            part=snippet,status

    プレイリストを追加する上記の例のように、API Explorer へのリンクにより、API リクエストの本文を指定するパラメータが設定されます。リクエストの本文には playlist リソースが含まれます。これにより、再生リストのタイトル、説明、プライバシー ステータスなどの情報が定義されます。この例では、次のリクエスト本文を使用します。

    {
      "id": "PLAYLIST_ID",
      "snippet": {
        "title": "New playlist",
        "description": "New playlist description"
      },
      "status": {
        "privacyStatus": "public"
      }
    }

    注: API Explorer でこのクエリをテストする場合は、有効なプレイリスト ID をリソース本文に置き換える必要があります。プレイリスト ID を取得するには、まず上記のプレイリストの追加リクエストを行うことをおすすめします。API レスポンスから再生リスト ID を抽出し、その値を更新する再生リストに使用します。この例で使用されている再生リストのタイトルと説明は、この例と同じです。

プレイリスト アイテムを追加する

この例では、アイテムをプレイリストに追加します。このリクエストは、OAuth 2.0 を使用して承認する必要があります。この例には次の 2 つのステップがあります。

  • ステップ 1: 該当する再生リスト ID を取得する

    playlist.list メソッドを呼び出して、現在認証されているユーザーのチャンネルの再生リストを取得します。上記の現在のユーザーのプレイリストを取得するサンプル リクエストは、このリクエストを示したものです。API を呼び出すアプリケーションは、API レスポンスを処理して、各再生リストの ID をキーとして、再生リストのリストを表示できます。

  • ステップ 2: 再生リストに動画を追加する

    playlistItems.insert メソッドを呼び出して、再生リストに動画を追加します。このリクエストは、OAuth 2.0 を使用して承認する必要があります。リクエストの本文は、少なくとも次の値を指定する playlistItem リソースです。

    • snippet.playlistId は、動画を追加する再生リストを示します。これはステップ 1 で取得したプレイリスト ID です。
    • snippet.resourceId.kind には値 youtube#video が含まれます。
    • snippet.resourceId.videoId は、再生リストに追加する動画を識別します。プロパティ値は一意の YouTube 動画 ID です。

    以下の API リクエストは、再生リストに動画を追加します。リクエストの本文は次のようになります。

    {
      "snippet": {
        "playlistId": "PLAYLIST_ID",
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "VIDEO_ID"
        }
      }
    }

    APIs Explorer でリクエストを完了するには、snippet.playlistId プロパティと snippet.resourceId.videoId プロパティの値を設定する必要があります。

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.insert?
            part=snippet

    注:playlistItems.insert メソッドのドキュメントには、プレイリスト アイテムを追加する際に設定できるその他のプロパティ値が記載されています。

プレイリスト アイテムを更新する

この例では、プレイリスト アイテムを更新し、そのプレイリストの最初のアイテムになるようにしています。このリクエストは、OAuth 2.0 を使用して承認する必要があります。この例では、次の 3 つのステップを行います。

  • ステップ 1: 該当する再生リスト ID を取得する

    playlist.list メソッドを呼び出して、現在認証されているユーザーのチャンネルの再生リストを取得します。上記の現在のユーザーのプレイリストを取得するサンプル リクエストは、このリクエストを示したものです。API を呼び出すアプリケーションは、API レスポンスを処理して、各再生リストの ID をキーとして、再生リストのリストを表示できます。

  • ステップ 2: 選択したプレイリスト内のアイテムを取得する

    選択した再生リストの動画のリストを取得するには、playlistItems.list メソッドを呼び出します。playlistId パラメータの値を、ステップ 1 で取得した再生リスト ID に設定します。

    API レスポンスの各リソースには、そのアイテムを一意に識別する再生リスト アイテム ID を示す id プロパティが含まれています。この値は、次のステップでリストから削除できます。

  • ステップ 3: 選択したプレイリスト アイテムを更新する

    再生リスト内での動画の位置を変更するには、playlistItems.update メソッドを呼び出します。part パラメータ値を snippet に設定します。リクエストの本文は、少なくとも次の値を設定する playlistItem リソースにする必要があります。

    • id プロパティに、ステップ 2 で取得したプレイリスト アイテム ID を設定します。
    • snippet.playlistId プロパティに、ステップ 1 で取得したプレイリスト ID を設定します。
    • snippet.resourceId.kind プロパティを youtube#video に設定します。
    • snippet.resourceId.videoId プロパティを、再生リストに含まれる動画を一意に識別する動画 ID に設定します。
    • snippet.position プロパティを 0 に設定するか、アイテムの表示位置を 0 から始まるインデックスに設定します。

    以下の API リクエストは、プレイリスト アイテムをプレイリストの最初のアイテムに更新します。リクエストの本文は次のようになります。

    {
      "id": "PLAYLIST_ITEM_ID",
      "snippet": {
        "playlistId": "PLAYLIST_ID",
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "VIDEO_ID"
        },
        "position": 0
      }
    }

    APIs Explorer でリクエストを完了するには、idsnippet.playlistIdsnippet.resourceId.videoId プロパティの値を設定する必要があります。

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.update?
            part=snippet

プレイリスト アイテムを削除する

この例では、再生リストから動画を削除します。このリクエストは、OAuth 2.0 を使用して承認する必要があります。この例では、3 つのステップがあります。最初の 2 つの手順は、上記の例のプレイリストのアイテムを更新する手順と同じです。

これらの手順を完了したら、playlistItems.delete メソッドを呼び出して、再生リストから動画を削除します。リクエストの id パラメータを、削除するアイテムのプレイリスト アイテム ID に設定します。このリクエストは、OAuth 2.0 を使用して承認する必要があります。

再生リストの動画を識別するために使用される再生リスト アイテム ID は、動画を一意に識別する YouTube 動画 ID とは異なります。再生リスト アイテム ID は、動画を特定の再生リスト内のアイテムとして識別するためのものです。

APIs Explorer でリクエストを完了するには、id プロパティの値を設定する必要があります。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.delete?
        id=PLAYLIST_ITEM_ID

再生リストを削除する

この例では、再生リストを削除します。この例には次の 2 つのステップがあります。

  • ステップ 1: 再生リスト ID を取得する

    playlist.list メソッドを呼び出して、現在認証されているユーザーのチャンネルの再生リストを取得します。上記の現在のユーザーのプレイリストを取得するサンプル リクエストは、このリクエストを示したものです。API を呼び出すアプリケーションは、API レスポンスを処理して、各再生リストの ID をキーとして、再生リストのリストを表示できます。

  • ステップ 2: 再生リストを削除する

    特定の再生リストを削除するには、playlists.delete メソッドを呼び出します。リクエストでは、id パラメータに、削除する再生リストのプレイリスト ID を指定します。このメソッドには、有効な OAuth 2.0 認証トークンが必要です。APIs Explorer でこのクエリをテストする場合は、id パラメータ値を有効な再生リスト ID に置き換える必要があります。

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlists.delete?
            id=PLAYLIST_ID

    注: API Explorer でこのクエリをテストする場合、id パラメータ値を有効な再生リスト ID に置き換える必要があります。プレイリスト ID を取得するには、まず上記のプレイリストの追加リクエストを行うことをおすすめします。API レスポンスから再生リスト ID を抽出し、その値を削除する再生リストに使用します。