【问题标题】:TMDB API Search function gives only one page of dataTMDB API Search 功能只提供一页数据
【发布时间】:2016-04-11 05:05:39
【问题描述】:

你好

我正在使用 TMDB Api,但我的代码中出现错误,提示我在 29 个结果中只有 20 个。 原因是TMDB中的搜索功能没有返回第二页数据。 这是 api 搜索短语(没有我的个人密钥):

https://api.themoviedb.org/3/search/movie?query=Avengers&api_key=API_KEY

这是收到的数据:http://pastebin.com/MdpFz2Nx

如您所见,只有第 1 页,代码底部显示总共有 2 页。

是否有其他方法可以接收其余数据,还是 API 犯了一个错误?

【问题讨论】:

    标签: json api themoviedb-api


    【解决方案1】:

    您正在寻找page 参数。

    https://api.themoviedb.org/3/search/movie?query=Avengers&api_key=API_KEY&page=2
    

    干杯。

    【讨论】:

    • 它说无效的 api 密钥,如果我运行上面的。你能澄清一下吗
    【解决方案2】:

    在此链接上阅读 TMDB 论坛:

    https://www.themoviedb.org/talk/5892db39c3a3686d10001a4d?language=en

    您需要发出另一个请求才能在下一页获得接下来的 20 个结果

    TMDB 在一个 API 请求中不提供没有分页的完整搜索结果 (https://www.themoviedb.org/talk/55aa2a76c3a3682d63002fb1?language=en)

    【讨论】:

      【解决方案3】:

      这就是我查询 40 部电影的方式 顺便说一句,我正在使用 Axios .. 您可以按照自己的方式进行操作

       async fetchPopularMovies(req, res) {
      
          let results = [];
      
          await axios
            .get(dBaseUrl + apiKey + "sort_by=popularity.desc&page=1")
            .then((value) => results.push(...value.data.results))
            .catch((err) => console.log(err));
      
          await axios
            .get(dBaseUrl + apiKey + "sort_by=popularity.desc&page=2")
            .then((value) => results.push(...value.data.results))
            .catch((err) => console.log(err));
      
          res.status(200).json(results);
        },
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-13
        • 2010-10-04
        相关资源
        最近更新 更多