代码之家  ›  专栏  ›  技术社区  ›  Dhaanappagouda Patil

如何在每个Youtube API调用中仅检索接下来的3个视频?

  •  1
  • Dhaanappagouda Patil  · 技术社区  · 6 年前

    这是我用来获取maxresults列表的API调用。

    var finalURL = "https://www.googleapis.com/youtube/v3/search?key="+this.API+"&channelId="+this.channelID+"&part=snippet,id&order=date&maxResults="+this.result+"";
    

    但我不知道从上一个videoId开始,我如何每次为接下来的3个视频调用API?。

    1 回复  |  直到 6 年前
        1
  •  1
  •   rotarydial    6 年前

    您已设置 maxResults 在提交初始请求之前;这将决定您取回的物品数量。在您的情况下,将其设置为3。

    提交初始请求后 ,如果有更多结果,您将收到 nextPageToken 在YouTube API的回应中。将此作为 pageToken ,它将在下一个 最大结果 找到的项目。(如果没有nextPageToken,则不会有更多结果。)

    因此,您的代码可能如下所示:

    var maxResults = 3;
    
    var finalURL = 'https://www.googleapis.com/youtube/v3/search?key=' + this.API +
                    '&channelId=' + this.channelID + 
                    '&part=snippet,id&order=date&maxResults=' + maxResults;
    
    // this should be the response from your previous request
    if (response.nextPageToken) { 
        finalURL += '&pageToken=' + response.nextPageToken;
    }
    

    查看YouTube API documentation on pagination 有关详细信息。