导入
比赛信息
学习如何使用赛事端点获取赛事信息。
作为足球迷,我们希望合理安排自己的赛程,以免错过心爱球队的任何一场比赛。Api-Football 可以为我们提供即将进行的足球赛程信息,帮助我们及时掌握比赛动态。不仅如此,该服务还支持获取过往和正在进行的比赛信息。
获取赛程列表
要通过 Api-Football 获取赛程信息,我们使用 Fixtures 端点。该端点的基础 URI 为 https://v3.football.api-sports.io/fixtures。
请求参数
以下是 Fixtures 端点的查询参数:
| 参数 | 类型 | 分类 | 描述 |
|---|---|---|---|
| id | 整数 | 可选 | 赛事的唯一标识 ID。 |
| live | 字符串 | 可选 | 若值为 all,则返回所有正在进行的比赛数据;若指定联赛 ID,则返回该联赛的实时比赛数据。 |
| date | 字符串 | 可选 | 指定要查询的赛事日期,格式为 "YYYY-MM-DD"。 |
| league | 整数 | 可选 | 指定联赛的 ID,可通过 Leagues 端点获取。 |
| season | 整数 | 可选 | 指定赛季年份,格式为 "YYYY"。 |
| team | 整数 | 可选 | 指定球队的 ID,可通过 Teams 信息端点获取。 |
| last | 整数 | 可选 | 返回最近多少场已结束的比赛数据,需为两位数字。 |
| next | 整数 | 可选 | 返回未来多少场即将进行的比赛数据,需为两位数字。 |
| from | 字符串 | 可选 | 指定查询数据的起始日期,格式为 "YYYY-MM-DD"。 |
| to | 字符串 | 可选 | 指定查询数据的结束日期,格式为 "YYYY-MM-DD"。 |
| round | 字符串 | 可选 | 指定赛事轮次编号,轮次信息可通过 Rounds 端点获取(详见附录中的“支持端点”课程)。 |
| status | 字符串 | 可选 | 指定赛事的状态。 |
| timezone | 字符串 | 可选 | 指定时区,有效时区可通过 Timezone 端点获取(详见附录中的“支持端点”课程)。 |
注意: 如需查看此端点的有效状态列表,请参阅 Api-Football 官方文档中的状态列表。
我们可以结合 team 和 season 参数,从 Fixtures 端点获取特定球队的赛程信息。点击“运行”按钮即可获取指定赛事的信息。
1const date = new Date(); 2const endpointUrl = new URL('https://v3.football.api-sports.io/fixtures'); 3 4const queryParameters = new URLSearchParams({ 5 team: '33', // 33 是曼联队的球队 ID 6 season: date.getFullYear() 7}); 8 9headerParameters = { 10 'x-rapidapi-host': 'v3.football.api-sports.io', 11 'x-rapidapi-key': '{{API_KEY}}' 12} 13 14const options = { 15 method: 'GET', 16 headers: headerParameters 17}; 18 19async function fetchTeamFixtures() { 20 try { 21 endpointUrl.search = queryParameters; 22 const response = await fetch(endpointUrl, options); 23 printResponse(response); 24 } 25 catch (error) { 26 printError(error); 27 } 28} 29 30fetchTeamFixtures();
要获取实时进行的比赛列表,可使用 live 参数,并将其值设为 all。下方小工具展示了如何使用该端点获取实时赛程列表。点击“运行”按钮查看响应结果。
1const endpointUrl = new URL('https://v3.football.api-sports.io/fixtures'); 2 3const queryParameters = new URLSearchParams({ 4 live: 'all' 5}); 6 7headerParameters = { 8 'x-rapidapi-host': 'v3.football.api-sports.io', 9 'x-rapidapi-key': '{{API_KEY}}' 10} 11 12const options = { 13 method: 'GET', 14 headers: headerParameters 15}; 16 17async function fetchLiveFixtures() { 18 try { 19 endpointUrl.search = queryParameters; 20 const response = await fetch(endpointUrl, options); 21 printResponse(response); 22 } 23 catch (error) { 24 printError(error); 25 } 26} 27 28fetchLiveFixtures();
我们可以通过将第 4 行的 all 替换为联赛 ID 来获取某一个联赛的赛程。如需获取多个联赛的赛程,可将多个联赛 ID 用连字符 - 连接起来。
例如,将第 4 行的 all 替换为 39-61,即可获取英超联赛(EPL)和法甲联赛(Ligue 1)的赛程。修改代码后点击“运行”按钮,即可查看这两个联赛的赛事信息。
| 响应字段 | 类型 | 描述 |
|---|---|---|
| fixture | 对象 | 包含赛事的 ID、日期、时间等信息。 |
| league | 对象 | 包含赛事所属联赛的相关信息。 |
| teams | 对象 | 包含参赛球队的 ID、名称及队徽链接。 |
| goals | 对象 | 包含比赛中进球的相关信息。 |
| score | 对象 | 包含半场、全场、加时赛以及点球阶段的得分情况。 |