【问题标题】:Basic use of an API (The Rotten Tomatoes API)API 的基本使用(烂番茄 API)
【发布时间】:2012-11-23 22:35:53
【问题描述】:

我正在努力实现这一目标:

使用 Rotten Tomatoes API 通过查询电影 ID 列表来返回电影列表。

现在,我以前没有使用过 API,所以我正在寻找我的概念。我选择使用 Javascript 来与数据交互,并以此示例作为测试的基础:

var apikey = "myapikey";
var baseUrl = "http://api.rottentomatoes.com/api/public/v1.0";

// construct the uri with our apikey
var moviesSearchUrl = baseUrl + '/movies.json?apikey=' + apikey;
var query = "Gone with the Wind";

$(document).ready(function() {

  // send off the query
  $.ajax({
    url: moviesSearchUrl + '&q=' + encodeURI(query),
    dataType: "jsonp",
    success: searchCallback
  });
});

// callback for when we get back the results
function searchCallback(data) {
 $(document.body).append('Found ' + data.total + ' results for ' + query);
 var movies = data.movies;
 $.each(movies, function(index, movie) {
   $(document.body).append('<h1>' + movie.title + '</h1>');
   $(document.body).append('<img src="' + movie.posters.thumbnail + '" />');
 });
}

这是使用搜索作为返回电影列表的方式,但我已经有一个预定义的想要返回的电影列表。

API 使用此 URL 来返回使用 ID 的特定电影

api.rottentomatoes.com/api/public/v1.0/movies/[MOVIE_ID_HERE].json?apikey=ny97sdcpqetasj8a4v2na8va

我的问题是,如何创建一个函数,该函数将使用这些 URL 参数首先返回具有特定 ID 的电影,然后进一步返回来自给定 ID 集的电影列表。

我认为我的问题更多是关于与该 URL 一起使用的必要 JS,而不是过于特定于 Rotten Tomatoes API 本身。

【问题讨论】:

  • 感谢 @mfreitas cmets,他对 RT API 提供了一些很好的见解,我重新搜索了一下,看起来电影数据库 API 是一个更好的选择:docs.themoviedb.apiary.io

标签: javascript rotten-tomatoes


【解决方案1】:

根据我从他们的论坛了解到的情况,他们的 API 目前不支持您正在寻找的内容。他们必须实现这一点才能让你完成这样的任务。类似于传递电影 ID 的数组:

api.rottentomatoes.com/api/public/v1.0/movies/movies.json?q=["id1","id2","id3"]

您可以通过为每部电影查询一次 API 并将该信息存储在一个对象中来获取您想要的每部电影,但由于公共 API 实现了某种调用限制,您会达到该限制很快(显然取决于您正在开发的应用类型)

他们论坛上的一个用户实际上要求提供这样的功能,你可以看到它here

【讨论】:

  • 嘿,感谢 mfreitas,这真的很有帮助。假设我确实想为每部电影查询一次 API,我的应用程序将查询 500 部电影(固定,这不会改变),然后将这些数据显示在网页上,仅此而已。我想知道这是否会达到 API 限制?
  • 我认为他们的限制是 10,000 次调用,如果您一次调用 500 次,这并不算多。一切都取决于您正在构建哪种类型的应用程序,如果它是公共应用程序,您的用户将立即消耗 10,000 个呼叫。您有两种方法来控制它,您可以自己调用,比如说每天一次,然后将结果保存在数据库中并提供给您的用户,或者您必须维护多个 API 密钥以便您可以获得更大的限制,但要注意服务提供商可能不喜欢那样..
  • 很有趣,谢谢。我很好奇如何调用下载数据,然后在数据库中使用它。我可以对 500 部电影只执行一次,将结果存储在数据库中,并将其用作数据。不要以为您对如何实现这一目标有任何提示?非常感谢
猜你喜欢
  • 1970-01-01
  • 2015-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
相关资源
最近更新 更多