web-dev-qa-db-ja.com

チャンネルIDからすべてのプレイリストIDを取得する-YouTube API V3

現在、youtube apiの使用方法を学習しています。 playlists idからすべてのchannel idを取得したい。ドキュメントを読み、そのようなタスクにyoutube.channels.listを使用できることを確認しました。 api_page で基本的なテストを行いました。それでも、playlist idを取得するために使用するparamsを理解できません。特定のplaylist idsからすべてのchannel idを取得するにはどうすればよいですか?

https://www.googleapis.com/youtube/v3/channels?part=id&id=UCF0pVplsI8R5kcAqgtoRqoA&key={YOUR_API_KEY}

13
Code_Ed_Student

簡単な方法:

YouTube API v で、リソース playlists.list

このパラメーターを使用して、チャンネルのプレイリストIDを取得します。

part: 'snippet'
channelId: 'UCBkNpeyvBO2TdPGVC_PsPUA'

https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=UCBkNpeyvBO2TdPGVC_PsPUA&key= {YOUR_API_KEY}

出力 :

 "items": [
  {

   "kind": "youtube#playlist",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/K21sgPQuMRCjhSMBjm3v3n5tl1o\"",
   "id": "PL2qcutlDmS0CnyV8Jcbl2d7yFxd2iGg67",
   "snippet": {
    "publishedAt": "2014-07-08T03:13:37.000Z",
    "channelId": "UCBkNpeyvBO2TdPGVC_PsPUA",
    "title": "These Things Happen Series",
    "description": "",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/93mgU_VXZrA/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/93mgU_VXZrA/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/93mgU_VXZrA/hqdefault.jpg",
      "width": 480,
      "height": 360
     },
     "standard": {
      "url": "https://i.ytimg.com/vi/93mgU_VXZrA/sddefault.jpg",
      "width": 640,
      "height": 480
     },
     "maxres": {
      "url": "https://i.ytimg.com/vi/93mgU_VXZrA/maxresdefault.jpg",
      "width": 1280,
      "height": 720
     }
    },
    "channelTitle": "GEazyTV"
   }
  },
  {

   "kind": "youtube#playlist",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/5ifuvTYKbyV6DUPqbTa2bnO2jWY\"",
   "id": "PL2qcutlDmS0B0jwHOQYzgRhJpnxDwPBHc",
   "snippet": {
    "publishedAt": "2014-06-05T07:36:58.000Z",
    "channelId": "UCBkNpeyvBO2TdPGVC_PsPUA",
    "title": "B-Sides",
    "description": "",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/default.jpg",
      "width": 120,
      "height": 90
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/mqdefault.jpg",
      "width": 320,
      "height": 180
     },
     "high": {
      "url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/hqdefault.jpg",
      "width": 480,
      "height": 360
     },
     "standard": {
      "url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/sddefault.jpg",
      "width": 640,
      "height": 480
     },
     "maxres": {
      "url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/maxresdefault.jpg",
      "width": 1280,
      "height": 720
     }
    },
    "channelTitle": "GEazyTV"
   }
  },
...

これは、ランダムチャネルのサンプル例です。

チャネルのchannelIDを取得する方法がわからない場合は、ressource channels.list: を使用します

このパラメータを使用して、再生リストの動画IDを取得します。

part: 'id'
forUsername: 'channel_name'

https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=GEazyTV&key= {YOUR_API_KEY}

 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/vIwM6ev74Om0AOupX26jJoEDELU\"",
   "id": "UCBkNpeyvBO2TdPGVC_PsPUA"
  }
20
mpgn

どのようにしてこのソリューションを見つけたのかはわかりませんが、次の手順に従うと、使用する再生リストIDを取得できることがわかりました。

  1. Google APIコンソールを使用してAPIキーを作成します。

  2. 使用する
    https://www.googleapis.com/youtube/v3/channels?part=contentDetails&key=[KEY FROM GOOGLE API CONSOLE]&id=[CHANNEL ID]
    角かっこを含め、すべてを対応する情報で置き換えます(チャンネルIDは通常URLにあるため、簡単にアクセスできます。PlaylistIDは難しい傾向があるものです)。

  3. ステップ2のURLからの結果のフィードには、ステップ4のURLで使用されるplaylistIDを含むuploadsオブジェクトが含まれているはずです。

  4. 使用する
    https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=[PLAYLIST ID RETRIEVED IN STEP 3 HERE]&key=[KEY FROM GOOGLE API CONSOLE]

ステップ4のリンクは、最終的にアプリで使用されるはずのものです。

これは私にとっては常に機能し、YouTube v3 APIを多くのアプリに統合しています。 @Utkanosの コメント に完全に同意します。@ mpgnの answer は時々動作しますが、すべてのチャネルで動作するとは限りません。

3
John Holtkamp