导入
事件
学习如何使用 SeatGeek API 搜索实时活动。
事件端点是 SeatGeek API 中最关键的端点之一。它们允许我们请求 SeatGeek 平台上所有可购买门票的活动信息。事件相关的端点如下:
- 事件端点:使用特定搜索参数获取分页的活动列表。
- 特定事件端点:通过提供事件 ID 作为路径参数,获取某个特定事件的详细信息。
代码示例
1https://api.seatgeek.com/2/events
| 参数名 | 类别 | 语法 | 描述 |
|---|---|---|---|
| ID | 可选 | id | 使用唯一的事件 ID 获取特定事件。可以在同一 API 请求中多次使用 id 参数。该参数的默认值为 null。当使用此参数时,会覆盖所有其他 URL 参数,SeatGeek API 会忽略传入的其他参数,即使它们存在于 HTTP 请求中。 |
| 演出者 | 可选 | performers.{FIELD}、performers[{SPECIFICITY}].{FIELD} | 根据特定演出者参数过滤活动结果。performers 参数支持两个字段:id 和 slug,可在同一请求中互换使用。支持的 specificity 值包括:home_team、away_team、primary 和 any。使用 primary 可查找具有热门演出者的活动。可以使用逗号分隔的演出者 ID 列表来根据特定演出者筛选结果。performers.{FIELD} 的默认值为 null;若使用 performers 参数,则 performers[{SPECIFICITY}].{FIELD} 的默认值为 any。 |
| 场馆 | 可选 | venue.{OPERATOR} | 根据特定场馆参数过滤活动结果。venue 参数支持与场馆端点相同的 URL 参数,例如 venue.city、venue.id 或 venue.state。可以使用逗号分隔的场馆 ID 列表来根据特定场馆筛选结果。 |
| 日期时间 | 可选 | datetime_utc、datetime_utc.{OPERATOR}、datetime_local、datetime_local.{OPERATOR} | 根据特定日期和时间范围过滤活动结果。同一 API 请求中最多可使用两次 datetime 参数。该参数有两种类型:datetime_utc 和 datetime_local,功能相同,区别在于前者用于 UTC 时间,后者用于本地时区。该参数接受 ISO 8601 时间格式(YYYY-MM-DDTHH:MM:SS)或 YYYY-MM-DD。支持的运算符有:gt、gte、lt、lte。该参数的默认值为 null。 |
| 查询 | 可选 | q | 在响应文档的所有可能部分中进行广泛搜索。由于这是广义搜索,返回结果可能不符合预期。该参数的默认值为 null。 |
| 分类 | 可选 | taxonomies.{FIELD} | 根据分类信息筛选活动结果。taxonomies 参数支持与分类端点相同的 URL 参数。支持的字段值包括:name、id 和 parent_id。该参数的默认值为 null。 |
1// 预定义的密钥在此处显示 2const clientId = '{{CLIENT_ID}}'; 3const clientSecret = '{{CLIENT_SECRET}}'; 4 5// 在此处定义查询参数 6const queryParameters = new URLSearchParams({ 7 client_id: clientId, 8 client_secret: clientSecret, 9 'venue.city': 'NY', 10 'taxonomies.name': 'Sports', 11 // 使用自定义函数获取今天日期 12 'datetime_utc.gt': `${getCurrentDate()}`, 13}); 14 15// 在此处定义端点 URL 16const endpointUrl = new URL('https://api.seatgeek.com/2/events'); 17endpointUrl.search = queryParameters; 18 19// 用于发起 API 调用的函数 20async function getEventsList() { 21 try { 22 const response = await fetch(endpointUrl, options); 23 24 // 自定义函数用于打印 API 响应 25 printResponse(response); 26 } catch (error) { 27 // 自定义函数用于打印错误信息 28 printError(error); 29 } 30} 31 32// 获取体育赛事列表 33getEventsList();
| 字段名 | 描述 |
|---|---|
| type | 该字段表示活动类型。 |
| id | 该字段表示活动的唯一标识符。 |
| datetime_utc | 该字段表示活动在 UTC 时区的时间安排。 |
| venue | 该字段表示活动场馆的输出响应文档。 |
| performers | 该字段表示活动演出者的输出响应文档列表。 |
| is_open | 布尔字段,表示活动是否开放。 |
| datetime_local | 该字段表示活动在本地时区的时间安排。 |
| time_tbd | 布尔字段,表示活动时间尚未确定。当此字段为 true 时,datetime 字段中的日期为正确值,时间部分为占位符。 |
| stats | 该字段表示活动门票列表的相关统计数据。 |
| taxonomies | 该字段表示活动分类的输出响应文档列表。 |
| url | 该字段表示活动门票在 SeatGeek 订票页面的链接。 |
| score | 该字段表示活动的热度评分,由 SeatGeek 根据活动门票销售情况计算得出。 |
| announce_date | 该字段表示活动公开宣布的日期。 |
| date_tbd | 布尔字段,表示活动日期尚未确定。当此字段为 true 时,datetime 字段中的日期和时间均为占位符。 |
| title | 该字段表示活动标题。 |
| popularity | 该字段表示活动的数值热度值,由 SeatGeek 根据活动门票销售情况计算得出。 |
代码示例
1https://api.seatgeek.com/2/events/{eventId}
| 参数名 | 类别 | 语法 | 描述 |
|---|---|---|---|
| ID | 必需 | id | 使用唯一的事件 ID 获取特定事件。 |
1// 预定义的密钥在此处显示 2const clientId = '{{CLIENT_ID}}'; 3const clientSecret = '{{CLIENT_SECRET}}'; 4const eventId = '{{EVENT_ID}}'; 5 6// 在此处定义查询参数 7const queryParameters = new URLSearchParams({ 8 client_id: clientId, 9 client_secret: clientSecret, 10}); 11 12// 在此处定义端点 URL 13const endpointUrl = new URL(`https://api.seatgeek.com/2/events/${eventId}`); 14endpointUrl.search = queryParameters; 15 16// 用于发起 API 调用的函数 17async function getSpecificEvent() { 18 try { 19 const response = await fetch(endpointUrl, options); 20 21 // 自定义函数用于打印 API 响应 22 printResponse(response); 23 } catch (error) { 24 // 自定义函数用于打印错误信息 25 printError(error); 26 } 27} 28 29// 获取特定事件 30getSpecificEvent();