Logo
Section 1 / 6

主要电影信息

学习并练习如何使用TMDB API获取电影的详细信息。

导入

主要电影信息

学习并练习如何使用TMDB API获取电影的详细信息。

我们需要 TMDB API 密钥来访问各个端点,以了解它们的工作方式。在本节课中,我们将首先探索并练习 TMDB 的基础且重要的端点——电影端点。该端点用于获取指定 movie_id 的电影的基本信息。

Course Image

电影详情

人们选择观看某部电影时,通常会参考一些基本信息,例如剧情简介、片长、评论、评分和受欢迎程度。我们可以使用 电影 端点,并通过路径参数 movie_id 获取电影的主要信息。

...
电影详情端点

当前关注的基地址如下:

1https://api.themoviedb.org/3/movie/{movie_id}?api_key={ourTMDBapikey}

请求参数

此端点支持的查询参数如下:

参数名类型可选性描述
language字符串可选使用 ISO_3166_1 代码指定语言,以获取对应语言的翻译数据。仅适用于支持翻译的字段。默认值为 en-US。
append_to_response字符串可选用于在单个 HTTP 请求中,将多个请求附加到同一命名空间,从而一次性获取响应。

下方代码框展示了基本电影详情端点的用法。我们还将提供包含可选参数的示例。

在运行代码前,请填写 API_KEY 和 MOVIE_ID 的值。虽然我们可以提取并使用应用中的所有有效电影 ID,但目前建议尝试以下推荐的电影 ID:

电影名称电影 ID
教父238
蜘蛛侠:无路可退634649
小鬼当家10585
欢乐好声音20413
超能陆战队177572

点击“编辑”,输入 API_KEY 和 MOVIE_ID 的值。别忘了保存!然后点击“运行”按钮,即可获取指定 ID 电影的通用信息。

1import fetch from "node-fetch"; 2 3const API_KEY = '{{API_KEY}}'; 4 5const endpointUrl = new URL('https://api.themoviedb.org/3/movie/{{MOVIE_ID}}'); 6 7const queryParameters = new URLSearchParams({ 8 api_key: API_KEY, 9}); 10 11async function fetchData() { 12 try { 13 endpointUrl.search = queryParameters; 14 const response = await fetch(endpointUrl); 15 16 // 调用打印响应的函数 17 printResponse(response); 18 } catch (error) { 19 // 调用打印错误信息的函数(如有) 20 printError(error); 21 } 22} 23 24// 调用发起 API 请求的函数 25fetchData();

响应字段

电影详情方法的输出是一个 JSON 响应,下表解释了部分响应对象。

对象类型描述
genres数组[对象]返回请求电影的所有主题类别,如动作、剧情等。
id整数即我们在 GET 请求 URL 中提供的电影 ID。
original_language字符串电影原始创作的语言。
original_title字符串请求电影的原始标题。
overview字符串 或 null请求电影的简明、无剧透、简洁的剧情概述。若无描述,则返回 null。
popularity数字根据多种因素(如用户投票数或页面访问量)计算得出的数值,反映请求电影的受欢迎程度。
release_date字符串请求电影的正式上映日期。
revenue整数电影获得的总收入,单位为美元(USD)。
runtime整数 或 null请求电影的时长,单位为分钟。
tagline字符串 或 null用于电影海报上的简短而富有吸引力的宣传语,旨在吸引观众注意。
vote_count整数请求电影的总投票数。

使用可选输入参数

让我们尝试使用可选参数 language 和 append_to_response 运行电影详情端点。

language 参数

我们可以使用电影详情端点,并通过查询参数 language 获取特定语言的电影信息。例如,若希望以法语获取电影信息,可将语言值设为 fr-FR,其中 fr 是语言代码,FR 是国家代码。language 的默认值为 en-US。有关 language 参数的更多详情请参见此处。

要运行以下代码,请复制下方代码,并替换上方可执行代码框中第 7 至 9 行的内容。然后点击“运行”以执行代码。

注意:只有支持翻译的字段才会以指定语言显示输出。

1const queryParameters = new URLSearchParams({ 2 api_key : API_KEY, 3 language : 'en-US' 4});

append_to_response 参数

可选查询参数 append_to_response 允许我们在单个 HTTP 请求中,将多个子请求附加到同一命名空间,而无需发出多个独立请求。这有助于避免 API 调用频率限制,并显著提升开发效率。每个子请求的结果都会作为新的 JSON 对象附加到主响应中。

例如,若希望同时获取电影详情、图片和视频信息,可以使用如下方式:

要运行此示例,请复制下方代码,并替换上方可执行代码框中第 7 至 9 行的内容。然后点击“运行”以执行代码。

1const queryParameters = new URLSearchParams({ 2 api_key : API_KEY, 3 append_to_response : 'images,videos' 4});

该端点对开发者非常有帮助,因为它允许用户在应用页面直接查看电影详情,而无需跳转至外部链接或资源。

简介

电影演员与制作团队