39 Stimmen

Wie man die Seiten-Ergebnisse mit der YouTube Data API v3 ändert

Ich versuche, Videodaten von der YouTube-API (v3) mit diesem Beispiel abzurufen:

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&

Das Problem ist, dass ich nicht verstehe, wie ich die Seitenergebnisse ändern kann. Zum Beispiel liefert diese Abfrage 25 Elemente (maxResults=25), aber die Gesamtergebnisse sind --> "totalResults": 548669. Die große Frage hier ist also, wie man zur Seite 2 wechselt und die anderen 25 Ergebnisse erhält?

80voto

Matt Koskela Punkte 5249

Wenn Sie sich die Ergebnisse ansehen, werden Sie kurz nach "pageInfo" ein Element "nextPageToken" sehen. Dies muss als pageToken bei Ihrer nächsten Anfrage übergeben werden.

Also, wenn Sie diese API aufrufen:

https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=25&order=relevance&q=site%3Ayoutube.com&topicId=%2Fm%2F02vx4&key={YOUR_API_KEY}

Würden Sie einen Aufruf für die nächste Seite machen:

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}

7voto

Naresh Punkte 14268

Zum Beispiel dies ist deine API

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

Hiermit dieser API erhältst du Ergebnisse wie

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

In diesem Ergebnis siehe "nextPageToken": "CDIQAA",

Füge jetzt den Parameter pageToken zu deiner API hinzu

Zum Beispiel:

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

Nun ist dies dein Ergebnis, du wirst nextPageToken und prevPageToken erhalten

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

        .........
        .........

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X