この例を使用して、YouTube API(v3)からビデオデータを取得しようとしています。
問題は、ページの結果を変更する方法が理解できないことです。たとえば、このクエリでは25個のアイテム(maxResults = 25)が得られますが、合計結果は-> "totalResults":548669です。ここでの大きな問題は、2ページ目に移動して他の25個の結果を受け取る方法です。
結果を見ると、「pageInfo」の直後に「nextPageToken」項目が表示されます。これは、次のリクエストでpageTokenとして渡す必要があります。
したがって、このAPIを呼び出す場合:
https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=25&order=relevance&q=site%3Ayoutube.com&topicId=%2Fm%2F02vx4&key={YOUR_API_KEY}
次のページでこれを呼び出します。
https://www.googleapis.com/youtube/v3/search?pageToken=CBkQAA&part=snippet&maxResults=25&order=relevance&q=site%3Ayoutube.com&topicId=%2Fm%2F02vx4&key={YOUR_API_KEY}
たとえば、これはあなたのAPIです
このAPIを使用すると、次のような結果が得られます。
{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQXPLgenD_n8JR4Qk/05DoUs3OS-AxnDI1FJbdM\"",
"nextPageToken": "CDIQAA",
"pageInfo": {
"totalResults": 585,
"resultsPerPage": 50
},
"items": [
{
"kind": "youtube#playlist",
"etag": "\"XpPGQXPLgenD_n8JR4Qk/7m0ztlwxvPmRtXjs\"",
.........
.........
この結果では、 "nextPageToken": "CDIQAA"、を参照してください。
APIにpageTokenパラメーターを追加します
例:
これが結果です。nextPageTokenとprevPageTokenを取得します
{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQX4Qk/R3A6jpxuE\"",
"nextPageToken": "CGQQAA",
"prevPageToken": "CDIQAQ",
"pageInfo": {
"totalResults": 585,
"resultsPerPage": 50
},
"items": [
{
"kind": "youtube#playlist",
"etag": "\"XpPGQXR4Qk/XsatNRtxJQ\"",
.........
.........