API的基本用法(烂番茄API)

时间:2012-11-23 22:35:54

标签: javascript 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使用此网址使用ID

返回特定电影
api.rottentomatoes.com/api/public/v1.0/movies/[MOVIE_ID_HERE].json?apikey=ny97sdcpqetasj8a4v2na8va

我的问题是,如何创建一个使用这些网址参数的功能,首先返回具有特定ID的电影,然后再进一步返回一组给定ID的电影列表。

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

1 个答案:

答案 0 :(得分:1)

根据我从他们的论坛中学到的知识,他们的API目前不支持您正在寻找的内容。他们必须实现这一点,以便您完成这样的任务。像传递一系列电影ID的那样:

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

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

论坛上的用户实际上要求提供此类功能,您可以看到here