Youtube 搜索:获取 PageInfo 和 nextPageToken 的列表为 null

Posted

技术标签:

【中文标题】Youtube 搜索:获取 PageInfo 和 nextPageToken 的列表为 null【英文标题】:Youtube Search:list getting PageInfo and nextPageToken null 【发布时间】:2016-01-12 12:13:47 【问题描述】:

我正在尝试使用关键字从 YouTube 获取视频。我正在使用 YouTube API Java 库。 我可以成功获取前 50 条记录,但要获取下一条记录需要设置 nextPageToken。但我得到了 nextPageToken null。下面是我的代码。

YouTube.Search.List search = youtube.search().list("id,snippet");
search.setOauthToken(credential.getAccessToken());
search.setMaxResults(50L);
search.setQ(keywords); // keywords is string type and input by user.
search.setType("video");
search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");

VideoList returnList = new VideoList();

    do 

        search.setKey("MYKEY");
        SearchListResponse searchResponse = search.execute();
        // This get 50 items proper.
        List<SearchResult> searchResultList = searchResponse.getItems();


        // Why PageInfo is null? 
        PageInfo pageInfo = searchResponse.getPageInfo();

        // int totalResults = pageInfo.getTotalResults();
        // int pageSize = pageInfo.getResultsPerPage();

        if(searchResponse != null)
            // i use searchResultList and update my database for search.
            ....
            ....

            // PageToken also null.
            String pageToken  = searchResponse.getNextPageToken();
            search.setPageToken(pageToken);
        
        else
            break;
        
     while (true);
    catch(Exception ex)
        ex.printStackTrace();
    

【问题讨论】:

我已经研究过email list。 我也尝试了this 解决方案。但很多时候我收到无效的页面令牌异常消息。 【参考方案1】:

因为您没有提及 nextpagetoken 或 pageinfo 字段,所以您将得到 null, 显式设置字段时,搜索结果集受到限制。

search.setFields("items(kind,id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url),nextPageToken,pageInfo,prevPageToken");

System.out.println("PAGE INFO: " +response.getPageInfo());

System.out.println("next page token :" +response.getNextPageToken());

System.out.println("prev page token:"+ response.getPrevPageToken());

输出: 输入搜索词

扑克脸

页面信息:"resultsPerPage":2,"totalResults":667891

下一页令牌:CAIQAA

上一页标记:null

【讨论】:

response.getNextPageToken() 也为相同的前 50 页返回令牌

以上是关于Youtube 搜索:获取 PageInfo 和 nextPageToken 的列表为 null的主要内容,如果未能解决你的问题,请参考以下文章

在搜索Youtube api后,如何获取Youtube视频[关闭]

youtube 搜索没有获取 URLS

使用 YouTube API 从用户提供的搜索词中获取 YouTube 视频 ID

是否可以从搜索中获取第一个 YouTube 视频的网址?

如何通过单击 web 视图中的 youtube 搜索页面链接获取视频 ID

如何通过点击webview中的YouTube搜索页面链接获取视频ID