2

我想要来自 TMDB 的所需电影的海报。我无法从 TMDB API 获取 JSON 数据。我已发送请求,但收到错误 404“找不到您请求的资源”。访问 TMDB 电影 API 的链接:https ://developers.themoviedb.org/3/movies/get-movie-images 这是我的代码:

<script type="text/javascript">
    var film = "speed";
    var api_key = 'my-api-key';
    var requestURL = "https://api.themoviedb.org/3/movie/images?api_key=" + api_key +"&language=en-US&callback=?";

    var request = new XMLHttpRequest();

    request.open('GET', requestURL);

    request.responseType = 'json';

    request.send();

    request.onload = function(){
        var myjsondata = request.response; //request.response contains all our JSON data 

        console.log(myjsondata);
    } 
</script>

我控制台中的 JSON 数据应如下所示: 在此处输入图像描述

但相反,我在控制台中得到了这个:错误 404 找不到这个资源。

4

1 回答 1

3

您需要movie_id在请求 URL 的路径部分中包含一个值,对吗?像这样:

var requestURL = "https://api.themoviedb.org/3/movie/"
  + movie_id + "/images?api_key=" + api_key +"&language=en-US&callback=?";

至少在问题中引用的文档中显示的是:

获取 /movie/{movie_id}/images

路径参数

movie_id : integer

例子:

https://api.themoviedb.org/3/movie/{movie_id}/images?api_key=<<api_key>>

例如,要为 ID 为电影的图像获取 JSON 格式的数据9340

https://api.themoviedb.org/3/movie/9340/images?api_key=<<api_key>>

curl您可以通过测试或其他方式来确认它是否有效:

$ curl "https://api.themoviedb.org/3/movie/9340/images?api_key=<<api_key>>"

{
    "backdrops": [
        {
            "aspect_ratio": 1.777251184834123,
            "file_path": "/qKeyO9gXaaK0g87tvvqOPK1siwc.jpg",
            "height": 1688,
            "iso_639_1": null,
            "vote_average": 5.454545454545455,
            "vote_count": 3,
            "width": 3000
        },
        …
于 2017-06-07T07:35:14.037 回答