2

YouTubeで利用できるすべての映画(つまり、//youtube.com/moviesから入手できる映画)を一覧表示したいと思います。API V2を使用してそれらをクエリする方法を確認できますが、これには1000応答の制限があります。

V3 APIを使用すると、映画のカテゴリのIDが30であることがわかりますが、このカテゴリのすべての映画を取得する方法を理解することはできません。カテゴリクエリのみが、異なるガイドカテゴリを検索しているように見えます。

このリストを取得する方法についての手がかりはありますか?できれば助けてください!

4

2 に答える 2

4

映画に関連する自動生成されたチャンネルを取得し、それらの ID を使用して、このチャンネルに関連するプレイリストを取得し、最後にこのプレイリストからアイテム (ビデオ..) を取得できると思います。選択したチャンネル:

映画チャンネルを取得します。

リクエスト

https://www.googleapis.com/youtube/v3/search?part=snippet&q=movies&type=channel&key={YOUR_API_KEY}

部分的な反応

"items": [
  {
   "id": {
    "kind": "youtube#channel",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ"
   },
   "kind": "youtube#searchResult",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/sQpwXP-0MUEZzOQx4F0yKj0eUR4\"",
   "snippet": {
    "publishedAt": "2005-12-15T03:07:36.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "movies",
    "description": "YouTube Movies (United States).",
    "thumbnails": {
     "default": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/1.jpg"
     },
     "medium": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/mq1.jpg"
     },
     "high": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/hq1.jpg"
     }
    }
   }
  },

例: チャンネル "YouTube Movies (United States)" の映画のリストを取得する

リクエスト

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

部分的な回答:

{

   "id": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
   "kind": "youtube#playlist",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/TWrkoCkmJvq14neCcutnApHMMgU\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:11:40.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "The Nicolas Cage Collection",
    "description": "From panicked fathers to spirits of vengeance, Nicolas Cage has done it all.",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/hqdefault.jpg"
     }
    }
   }
  },

このプレイリストからアイテムを取得:

リクエスト:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C&key={YOUR_API_KEY}

部分的な回答:

{
 "kind": "youtube#playlistItemListResponse",
 "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/KSlqEnNGq36l47_k9W3fd79KfYQ\"",
 "pageInfo": {
  "totalResults": 15,
  "resultsPerPage": 5
 },
 "nextPageToken": "CAUQAA",
 "items": [
  {

   "id": "PLcBtbpFAOApiV34TU797yEFAUZuwhFrvJya3MqlZWkGM",
   "kind": "youtube#playlistItem",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/C_xTa48Xof7giXobSula2vWX43A\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:12:49.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "Stolen",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/hqdefault.jpg"
     }
    },
    "playlistId": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
    "position": 0,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "nHiy8SVZdpU"
    }
   }
  },
  {

   "id": "PLcBtbpFAOApiV34TU797yED-1zeMCoMGVxtVgtX9ZdsQ",
   "kind": "youtube#playlistItem",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/LgSyqtZkwJXv6-2ajW0g-FsgddQ\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:19:26.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "Trespass",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/hqdefault.jpg"
     }
    },
    "playlistId": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
    "position": 1,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "J_7Zug6ouy4"
    }
   }
  },

このようにして、必要に応じてビデオのリストを作成できます

于 2012-12-29T13:21:14.203 に答える
1

これが私の現在の答えです-まだ取り組んでいるので、まだ受け入れていません

映画のカテゴリ ID は 30 であることがわかりました。次に、このカテゴリ ID とクエリ文字列「movie」を使用してビデオを検索しました (何かを入力する必要があるため)。これにより、1000 を超える結果が得られます。Google は、v3 API を使用してもクエリを 1000 の結果に制限しています。

したがって、クエリを分割する必要があります。これは、publishedBefore と publishedAfter で行うことができました。これらはアップロード日であり、リリース日ではないことに注意してください。

これにより、映画のリストが表示されます。

サンプル クエリは次の とおりです。 01-01T00%3A00%3A00Z

映画 ID を取得したら、個々の映画 ID を照会します

https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails&maxResults=50&id=O7cSKNevYQc%2CN84-SoboM6c%2C9K_WO3lqDSc%2CWTJP0Z-bknc%2CdF9hwjeRbGE%2CPnefvJ9T1N0%2CDuM6B4yKgTU%2C0tI8iP2f58I%2Cr4lNJEnY0FA%2COFnMrx6yEcA%2CmUZUAeqOmbg% 2CDjq0tHK-KTo%2CkY44nxk0qjg%2CcLYkUR5MY14%2CTZpcfYOOEXA%2C-0jA9DMX8Qs%2C2TQDV1m4X2s%2CBh3Tye1OQvk%2Ct5IwjMDVNz4%2CkOi88X6xeKg%2Ck53CuaAUtik%2CNaRuenqLb9g%2Cn9h-0Wgix7Q%2CQG8SiW2a_l0%2Cmk-D66Z1Ydg%2ClvmwofckpNc%2CgRQK4fTXfBM%2CPZHgLy48R3Q%2CwczeO0DVM0g%2CTpMDTG3dEYE%2C6JI8pN7BqEQ%2COv9yllk3hsY% 2CsN09sfLPu0g%2CbfhLYJGN948%2CPiWusdK75Ys%2CeE5jh0YwTCY%2C_cIw3vr2Q18%2CSA4xg_k0aqI%2CUZdha0zTM6w%2CwUdkDSIBw94%2CAhR-LDSIOaI%2C1XMt40vJayU%2C83fPx5-aUL8%2CmJLjaKzu7PQ%2CZvj_zRGnwU0%2CtyIPMd7JXOA%2CToE10sC36KQ%2COVKXjOW6cD8%2CLPW1cXVjMrg&key=LALALA

結果で次のjsonを見て、結果をフィルタリングする必要があります

  "contentDetails": {
    "duration": "PT1H35M14S",
    "regionRestriction": {
     "allowed": [
      "US"
     ]
    }

残念ながら、これはまだ映画の年や監督 (これが実際にどの映画であるかを判断するのに役立ちます)、または価格 (ご存知のように、人々が興味深いと思うものです) を教えてくれません。

于 2012-12-29T14:47:01.840 に答える