web-dev-qa-db-fra.com

Comment modifier les résultats des pages avec YouTube Data API v3

J'essaie d'obtenir des données vidéo de l'API YouTube (v3) en utilisant cet exemple:

https://developers.google.com/apis-Explorer/#p/youtube/v3/youtube.search.list?part=snippet&maxResults=25&order=relevance&q=site%253Ayoutube.com&topicId=%252Fm%252F02vx4&_h= 1 &

Le problème est que je ne comprends pas comment modifier les résultats de la page. Par exemple, cette requête me donne 25 éléments (maxResults = 25) mais les résultats totaux sont -> "totalResults": 548669. La grande question ici est donc de savoir comment passer à la page 2 et recevoir les 25 autres résultats?

27
viktor

Si vous regardez les résultats, vous verrez un élément "nextPageToken" juste après "pageInfo". Cela doit être transmis en tant que pageToken lors de votre prochaine demande.

Donc, si vous appelez cette 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}

Vous feriez un appel à celui-ci pour la page suivante:

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}
67
Matt Koskela

Par exemple, c'est votre api

https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCrA&maxResults=50&key=AIZsk

Ici, avec cette API, vous obtiendrez un résultat comme

{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQXPLgenD_n8JR4Qk/05DoUs3OS-AxnDI1FJbdM\"",
"nextPageToken": "CDIQAA",
"pageInfo": {
    "totalResults": 585,
    "resultsPerPage": 50
},
"items": [
    {
        "kind": "youtube#playlist",
        "etag": "\"XpPGQXPLgenD_n8JR4Qk/7m0ztlwxvPmRtXjs\"",
        .........
        .........

Dans ce résultat, voir "nextPageToken": "CDIQAA",

Maintenant, ajoutez paramètre pageToken à votre API

EX:

https://www.googleapis.com/youtube/v3/playlists?part=snippet,contentDetails&channelId=UCqrA&maxResults=50&key=AIZsk&pageToken=CDIQAA

Voici votre résultat, vous obtiendrez nextPageToken et prevPageToken

{
"kind": "youtube#playlistListResponse",
"etag": "\"XpPGQX4Qk/R3A6jpxuE\"",
"nextPageToken": "CGQQAA",
"prevPageToken": "CDIQAQ",
"pageInfo": {
    "totalResults": 585,
    "resultsPerPage": 50
},
"items": [
    {
        "kind": "youtube#playlist",
        "etag": "\"XpPGQXR4Qk/XsatNRtxJQ\"",

        .........
        .........
2
iOS