查找热门歌曲、专辑、艺术家、播放列表和播客
学习如何查找热门歌曲、专辑、艺术家、播放列表和播客。
现在,我们将探索如何查找热门歌曲、专辑、艺术家、播放列表和播客。
获取 Deezer 上的热门歌曲
在探索某个音乐流派时,可以先收听该流派的热门歌曲。这样可以对这个流派的代表性作品有初步了解,判断是否值得进一步探索。我们可以使用以下接口获取任意流派的热门歌曲。
该接口的基础 URL 为:
1https://api.deezer.com/chart/genre_id/tracks
请求参数
| 参数 | 类型 | 分类 | 描述 |
|---|---|---|---|
| id | 整数 | 必填 | 流派的 ID 注:此参数作为路径参数传递 |
你可以参考下表查找不同流派的排行榜信息。
流派 ID
| 流派名称 | 流派 ID |
|---|---|
| 流行 (Pop) | 132 |
| 嘻哈/说唱 (Rap/Hip Hop) | 116 |
| 摇滚 (Rock) | 152 |
让我们查找流行音乐流派的热门歌曲。点击下方代码模块中的“运行”按钮查看响应结果:
1// 导入所需库 2import fetch from "node-fetch" 3 4// 定义接口地址 5const endpointUrl = new URL("https://api.deezer.com/chart/132/tracks"); 6 7const headerParameters = { 8 contentType: "application/json", 9}; 10 11// 设置 API 请求选项 12const options = { 13 method: "GET", 14 headers: headerParameters, 15}; 16 17// 发起 API 调用的函数 18async function topTracks() { 19 try { 20 const response = await fetch(endpointUrl, options); 21 22 // 打印响应结果 23 printResponse(response); 24 } catch (error) { 25 // 打印错误信息 26 printError(error); 27 } 28} 29 30// 调用函数发起请求 31topTracks();
在上述代码中:
- 第 5 行:将接口地址定义在
endpointUrl变量中。 - 第 20 行:使用
fetch函数发起 API 请求。
该接口返回一个 Track 对象列表。每个对象的具体字段说明如下。
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 整数 | 歌曲的唯一标识 ID |
| title | 字符串 | 歌曲名称 |
| link | URL | 歌曲在 Deezer 上的链接 |
| duration | 整数 | 歌曲时长(单位:秒) |
| rank | 整数 | 歌曲在 Deezer 排行榜中的排名 |
| explicit_lyrics | 布尔值 | 若歌曲包含脏话歌词,则为 true,否则为 false |
| position | 整数 | 歌曲在排行榜中的位置 |
| preview | URL | 歌曲预览音频文件的链接 |
| artist | 对象 | 包含艺术家 ID、名称、头像等信息的 Artist 对象 |
| album | 对象 | 包含专辑 ID、标题、封面图和链接的 Album 对象 |
获取最热门的专辑
你可以使用以下接口查找任意流派中最受欢迎的专辑。
该接口的基础 URL 为:
1https://api.deezer.com/chart/genre_id/albums
让我们查找流行音乐流派的热门专辑。请将本课代码模块中的 第 5 行 替换为以下内容,并点击“运行”按钮查看响应结果:
1const endpointUrl = new URL("https://api.deezer.com/chart/132/albums");
该接口返回一个 Album 对象列表。每个对象的具体字段说明如下。
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 整数 | 专辑的唯一标识 ID |
| title | 字符串 | 专辑标题 |
| link | URL | 专辑在 Deezer 上的链接 |
| cover | URL | 专辑封面图片的链接 |
| explicit_lyrics | 布尔值 | 专辑中是否存在脏话歌词,true 表示存在,false 表示不存在 |
| position | 整数 | 专辑在排行榜中的位置 |
| artist | 对象 | 包含艺术家信息的 Artist 对象,包括 ID、名称、头像等 |
获取 Deezer 上的热门艺术家
要查找任意流派的热门艺术家,可以使用以下接口。
该接口的基础 URL 为:
1https://api.deezer.com/chart/genre_id/artists
让我们查找流行音乐流派的热门艺术家。请将本课代码模块中的 第 5 行 替换为以下内容,并点击“运行”按钮查看响应结果:
1const endpointUrl = new URL("https://api.deezer.com/chart/132/artists");
该接口返回一个 Artist 对象列表。每个对象的具体字段说明如下。
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 整数 | 艺术家的唯一标识 ID |
| name | 字符串 | 艺术家名称 |
| link | URL | 艺术家在 Deezer 上的链接 |
| picture | URL | 艺术家头像图片的链接 |
| radio | 布尔值 | 艺术家是否有智能电台,true 表示有,false 表示无 |
| position | 整数 | 艺术家在排行榜中的位置 |
获取 Deezer 上的热门播放列表
通过此接口,可以查找任意流派中正在流行的播放列表。所谓“流行”,指的是被频繁播放的播放列表。
该接口的基础 URL 为:
1https://api.deezer.com/chart/genre_id/playlists
让我们查找流行音乐流派的热门播放列表。请将本课代码模块中的 第 5 行 替换为以下内容,并点击“运行”按钮查看响应结果:
1const endpointUrl = new URL("https://api.deezer.com/chart/132/playlists");
该接口返回一个 Playlist 对象列表。每个对象的具体字段说明如下。
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 整数 | 播放列表的唯一标识 ID |
| title | 字符串 | 播放列表标题 |
| public | 布尔值 | 若播放列表为公开,值为 true,否则为 false |
| link | URL | 播放列表在 Deezer 上的链接 |
| picture | URL | 播放列表封面图片的链接 |
| checksum | 整数 | 歌曲列表的校验码 |
| position | 整数 | 播放列表在排行榜中的位置 |
| user | 对象 | 包含用户 ID 和名称的用户对象 |
获取 Deezer 上最常收听的播客
通过此接口,可以获取 Deezer 上最受欢迎的播客。播客类别通常与音乐类别不同。
该接口的基础 URL 为:
1https://api.deezer.com/chart/0/podcasts
此处流派 ID 设为 0,用于获取所有类别中收听频率最高的播客。点击下方代码模块中的“运行”按钮查看响应结果:
1// 导入所需库 2import fetch from "node-fetch" 3 4// 定义接口地址 5const endpointUrl = new URL("https://api.deezer.com/chart/0/podcasts"); 6 7const headerParameters = { 8 contentType: "application/json", 9}; 10 11// 设置 API 请求选项 12const options = { 13 method: "GET", 14 headers: headerParameters, 15}; 16 17// 发起 API 调用的函数 18async function topPodcasts() { 19 try { 20 const response = await fetch(endpointUrl, options); 21 22 // 打印响应结果 23 printResponse(response); 24 } catch (error) { 25 // 打印错误信息 26 printError(error); 27 } 28} 29 30// 调用函数发起请求 31topPodcasts();
该接口返回一个 Podcast 对象列表。每个对象的具体字段说明如下。
响应字段
| 字段名 | 类型 | 描述 |
|---|---|---|
| id | 整数 | 播客的唯一标识 ID |
| title | 字符串 | 播客标题 |
| description | 字符串 | 播客简介 |
| available | 布尔值 | 若播客可收听,值为 true,否则为 false |
| fans | 整数 | 播客的粉丝数量 |
| link | URL | 播客在 Deezer 上的链接 |
| share | URL | 播客的分享链接 |
| picture | URL | 播客封面图片的链接 |
| position | 整数 | 播客在排行榜中的位置 |