Logo
Section 1 / 5

主要电视剧详情

学习并练习如何使用TMDB API获取主要电视剧的详细信息。

导入

主要电视剧详情

学习并练习如何使用TMDB API获取主要电视剧的详细信息。

本课程聚焦于 TMDB 的接口,用于通过 ID 获取电视剧、季和集的详细信息。

电视剧详情

电视剧的主要信息有助于用户决定是否观看某部剧集。TMDB 允许我们通过其 TMDB ID 获取一部电视剧的所有主要信息。该方法接收 tv_id 作为参数,并返回包含所有核心信息的单一 JSON 响应。这一功能对开发者非常有帮助,是任何媒体应用的基础功能。

我们可以使用 TMDB 的 电视剧详情 接口,通过一个整数路径参数 tv_id 获取电视剧的关键信息。

以下是基础 URL:

1https://api.themoviedb.org/3/tv/{tv_id}?api_key={yourTMDBapikey}

请求参数

此接口支持以下查询字符串输入参数:

参数名类型可选性描述
language字符串可选使用 ISO_3166_1 代码指定语言,以获取对应语言的翻译数据。仅适用于支持多语言的字段。默认值为 en-US。
append_to_response字符串可选用于将同命名空间内的其他请求附加到响应中。格式为 ([\w]+)。

让我们尝试运行一个电视剧详情接口的示例。点击“编辑”,填写 API_KEY(即你的 TMDB API 密钥)和 TV_ID。虽然我们可以在 TMDB 上提取所有有效的电视剧 ID(参见课程前面列出的实用电视剧 ID),但目前可以使用以下任意一个:

电视剧TV ID
朋友1668
主厨对决40290
纸钞屋(金钱游戏)71446
急诊室故事1416
办公室2316
浴血黑帮60574

现在点击“运行”,即可获取你提供的 ID 对应的电视剧全部基本信息。

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

我们已成功获取了所请求电视剧的英文信息。现在将第 9 行中的 language 改为另一种语言,例如西班牙语,观察结果变化。西班牙语的 ISO 3166 1 代码为 es-ES。如果所请求的电视剧本身是西班牙语的(如《纸钞屋》),这种变化会更加明显。

响应字段

输出 JSON 响应中的对象如下:

对象类型描述
episode_run_time整数数组每集的平均时长。
first_air_date字符串该剧首次正式播出的日期。
genres对象数组返回该电视剧的所有主题类别,如动作、剧情等。
id整数电视剧的 ID,即我们在 GET 请求 URL 中提供的 ID。
networks对象数组返回正在播放该电视剧的所有电视台及其详细信息。
number_of_episodes整数该电视剧的总集数。
number_of_seasons整数该电视剧的总季数。
original_language字符串该剧最初创作时使用的语言。
original_name字符串该剧在原始语言中的名称。例如,在日本首播的剧集,其原始名称为日文。
overview字符串简明扼要、无剧透的剧情简介或概要。
popularity数字根据多种因素(如用户投票数、页面访问量等)计算得出的数值,反映该电视剧的受欢迎程度。
tagline字符串或 null用于电视剧海报上的简短而吸引人的宣传语,能激发观众观看兴趣。
type字符串该电视剧的类型。有效值包括:纪录片、新闻、迷你剧、真人秀、剧本类、脱口秀和视频。
vote_count整数该电视剧的总投票数。

电视剧季详情

如今大多数电视剧都有多个季。因此,获取某一季的详细信息与获取电视剧整体信息同样重要。TMDB 可轻松实现这一点。我们可以通过 电视剧季详情 接口,使用电视剧 ID 来获取其某一季的主信息。

该接口是电视剧详情接口的扩展。它接收两个整数路径参数 tv_id 和 season_number,并返回请求季的详细信息,以单一 JSON 响应形式返回。

基础 URL 如下:

1https://api.themoviedb.org/3/tv/{tv_id}/season/{season_number}?api_key={yourTMDBapikey}

请求参数

该接口接受与电视剧详情接口相同的查询参数。

下面的代码用于获取某部电视剧第一季的主信息。我们需要提供电视剧的 ID。可根据需要更改季数:改为第二季则使用 season/2,第三季则使用 season/3,依此类推。要运行此示例,请复制下方代码,并替换上方可执行代码框中的第 5 行代码。然后点击“运行”执行代码。

1const endpointUrl = new URL('https://api.themoviedb.org/3/tv/{{TV_ID}}/season/1');

响应字段

返回的 JSON 响应中的对象如下:

对象类型描述
_id字符串请求季的 ID,以字符串形式表示。
air_date字符串该季正式发布的日期。
episodes对象数组返回请求季的所有剧集及其详细信息。
name字符串请求季的名称,可以是原名或其他名称。
id整数请求季的 ID,以整数形式表示。
overview字符串该季的简明扼要、无剧透的剧情简介或概要。
poster_path字符串或 null该季海报图片的路径。若无海报,则返回 null。
season_number整数请求的电视剧季数。

电视剧集详情

每部电视剧在每一季中都有一定数量的剧集。获取某集的详细信息至关重要,直接影响用户是否决定观看该剧。这些信息包括评分、幕后团队和客串演员等。

我们可以使用 TMDB 的 电视剧集详情 接口,通过剧集 ID 获取其主信息。该接口接收三个整数路径参数:tv_id、season_number 和 episode_number,并返回请求剧集的完整信息,以单一 JSON 响应形式返回。

基础 URL 如下:

1https://api.themoviedb.org/3/tv/{tv_id}/season/{season_number}/episode/{episode_number}?api_key={yourTMDBapikey}

请求参数

该接口接受与电视剧详情接口相同的查询参数。

下面的代码用于获取某部电视剧第一季第一集的主信息。我们需提供电视剧 ID。可根据需要更改剧集编号:第二集使用 episode/2,第三集使用 episode/3,依此类推。要运行此示例,复制下方代码并替换上方可执行代码框中的第 5 行代码。然后点击“运行”执行代码。

1const endpointUrl = new URL('https://api.themoviedb.org/3/tv/{{TV_ID}}/season/1/episode/1');

响应字段

输出的 JSON 响应中的对象如下:

对象类型描述
air_date字符串该集正式发布的日期。
crew对象数组返回该集的所有工作人员及其详细信息。
episode_number整数请求的剧集编号。
guest_stars对象数组返回该集的所有客串明星及其详细信息。
name字符串请求剧集的名称,可以是原名或其他名称。
id整数请求剧集的唯一 ID。
overview字符串该集的简明扼要、无剧透的剧情简介或概要。
production_code字符串或 null该集的制作编号。
runtime整数该集的播放时长(单位:分钟)。
season_number整数请求的电视剧季数。
still_path字符串该集相关图片的路径(如有)。
vote_average数字该集的平均评分,基于投票数计算,取值范围为 0–10。
vote_count整数该集的总投票数。

现在,我们已经掌握了通过 ID 获取电视剧、季或集详细信息的方法。如需获取更多内容(如演员表、幕后团队、图片和视频),可使用 credits、images 和 videos 接口。请查看这些接口的基础 URL 并在课程中的“电影演员与幕后团队”课时中练习

电影

电视剧演员阵容、图片和视频