Logo
Section 1 / 6

创建和更新事件

学习如何使用 Eventbrite API 在 Eventbrite 平台上创建和更新活动。

导入

创建和更新事件

学习如何使用 Eventbrite API 在 Eventbrite 平台上创建和更新活动。

活动的组织管理

我们可以通过 API 调用创建活动,但需要提供组织 ID。每个活动都与一个组织相关联,因此在创建活动时必须指定所属组织。当我们创建 Eventbrite 账户时,系统会自动创建一个默认组织。访问 此页面 可查看组织资料。在此页面上,我们可以上传“组织标志”,更新“组织名称”,并设置“首选国家”。

以下 URL 使用 GET 请求方法获取组织详情:

1https://www.eventbriteapi.com/v3/users/me/organizations/

该 API 调用无需输入参数,返回包含组织信息的 JSON 对象。以下是部分重要响应字段:

请求参数

字段类型描述
organizations.id字符串组织的唯一标识符
organizations.name字符串组织名称

通过调用 API 获取组织详情:

1const endpointUrl = new URL('https://www.eventbriteapi.com/v3/users/me/organizations/'); 2 3const headerParameters = { 4 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 5 'Content-Type': 'application/json' 6}; 7 8const options = { 9 method: 'GET', 10 headers: headerParameters, 11}; 12 13async function fetchOrganizationDetails() { 14 try { 15 const response = await fetch(endpointUrl, options); 16 printResponse(response); 17 } catch (error) { 18 printError(error); 19 } 20} 21 22// 调用函数发起 API 请求 23fetchOrganizationDetails();

上述代码中使用了 node-fetch 库来发起 API 请求,导入代码对用户隐藏。

  • 第 1 行: 定义 API 端点地址。
  • 第 3–6 行: 设置请求头,包含授权令牌和内容类型。
  • 第 8–11 行: 配置 API 请求选项,指定请求方法为 GET 并添加请求头。
  • 第 13–20 行: 定义 fetchOrganizationDetails 函数,使用 fetch 发起请求,并处理可能发生的异常。printResponse 和 printError 为隐藏的自定义打印函数。
  • 第 23 行: 调用 fetchOrganizationDetails 函数执行请求。

创建活动

使用组织 ID 在该组织下创建活动。以下 URL 使用 POST 请求方法在组织内创建活动:

1https://www.eventbriteapi.com/v3/organizations/{organization_id}/events/

以下是创建活动所需的重要请求参数:

请求参数

字段类型必填描述
event.name.html字符串是以 HTML 格式表示的活动名称
event.description.html字符串是以 HTML 格式表示的活动描述
event.start.timezone字符串是活动开始时间所在时区
event.start.utc字符串是使用 UTC 标准表示的开始时间
event.end.timezone字符串是活动结束时间所在时区
event.end.utc字符串是使用 UTC 标准表示的结束时间
event.currency字符串是该活动使用的货币代码(ISO 4217 标准)
event.online_event布尔值否是否为线上活动(true 或 false)
event.listed布尔值否是否对公众可见(true 或 false)
event.shareable布尔值否是否可在社交平台分享(true 或 false)
event.invite_only布尔值否是否仅限邀请者查看活动页面(true 或 false)
event.show_remaining布尔值否是否显示剩余票数(true 或 false)
event.password字符串否访问活动详情所需的密码
event.capacity整数否活动允许的最大人数
event.venue_id字符串否活动场地 ID

注意: 开始和结束时间必须是未来的时间。

尝试通过 API 创建一个活动:

1const endpointUrl = new URL('https://www.eventbriteapi.com/v3/organizations/{{ORGANIZATION_ID}}/events/'); 2 3const headerParameters = { 4 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 5 'Content-Type': 'application/json' 6}; 7 8const bodyParameters = JSON.stringify({ 9 "event": { 10 "name": { 11 "html": "我的活动名称" 12 }, 13 "description": { 14 "html": "活动的详细说明。" 15 }, 16 "start": { 17 "timezone": "America/Los_Angeles", 18 "utc": "2022-12-01T02:00:00Z" 19 }, 20 "end": { 21 "timezone": "America/Los_Angeles", 22 "utc": "2022-12-01T05:00:00Z" 23 }, 24 "currency": "USD" 25 } 26}); 27 28const options = { 29 method: 'POST', 30 headers: headerParameters, 31 body: bodyParameters, 32}; 33 34async function createEvent() { 35 try { 36 const response = await fetch(endpointUrl, options); 37 printResponse(response); 38 } catch (error) { 39 printError(error); 40 } 41} 42 43// 调用函数发起 API 请求 44createEvent();
  • 第 1 行: 定义端点地址,并将 ORGANIZATION_ID 作为 URL 参数。
  • 第 3–6 行: 设置请求头,包含授权令牌和内容类型。
  • 第 8–26 行: 定义创建活动所需的请求参数。
  • 第 28–32 行: 配置 API 请求选项,包括请求头、请求体和请求方法 POST。
  • 第 34–41 行: 定义 createEvent 函数,使用 fetch 发起请求并处理异常。printResponse 与 printError 为自定义打印函数。
  • 第 44 行: 调用 createEvent 函数执行请求。

该 API 调用返回一个 JSON 对象。下表解释了响应对象中的部分关键字段。该响应对象包含我们提供的所有输入参数,以及未提供时采用默认值的可选字段。

响应字段

字段类型描述
response.id字符串活动的唯一标识符
response.url字符串发布后预览活动页面的链接
response.status字符串活动状态,可能值包括:草稿(draft)、已开始(started)、已结束(ended)、已完成(completed)、已取消(canceled)或已发布(live)

获取活动详情

若需获取特定活动的信息,可通过 event_id 获取其详细信息。以下 URL 使用 GET 请求方法获取活动数据:

1https://www.eventbriteapi.com/v3/events/{event_id}/

{event_id} 为必需的输入参数,返回包含活动详情的 JSON 对象。

1const endpointUrl = new URL('https://www.eventbriteapi.com/v3/events/{{EVENT_ID}}/'); 2 3const headerParameters = { 4 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 5 'Content-Type': 'application/json' 6}; 7 8const options = { 9 method: 'GET', 10 headers: headerParameters, 11}; 12 13async function retrieveEvent() { 14 try { 15 const response = await fetch(endpointUrl, options); 16 printResponse(response); 17 } catch (error) { 18 printError(error); 19 } 20} 21 22// 调用函数发起 API 请求 23retrieveEvent();

更新活动

通过提供 event_id 及需更新的有效字段,可以更新活动信息。

以下 URL 使用 POST 请求方法更新活动:

1https://www.eventbriteapi.com/v3/events/{event_id}/

可更新的字段与创建活动时相同,具体参考前文表格。

更新活动至少需要提供一个参数。以下示例尝试更新最近创建活动的 capacity 和 name:

1const endpointUrl = new URL('https://www.eventbriteapi.com/v3/events/{{EVENT_ID}}/'); 2 3const headerParameters = { 4 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 5 'Content-Type': 'application/json' 6}; 7 8const bodyParameters = JSON.stringify({ 9 "event": { 10 "name": { 11 "html": "活动名称已更新" 12 }, 13 "capacity": 100 14 } 15}); 16 17const options = { 18 method: 'POST', 19 headers: headerParameters, 20 body: bodyParameters, 21}; 22 23async function updateEvent() { 24 try { 25 const response = await fetch(endpointUrl, options); 26 printResponse(response); 27 } catch (error) { 28 printError(error); 29 } 30} 31 32// 调用函数发起 API 请求 33updateEvent();
  • 第 1 行: 定义端点地址,EVENT_ID 作为 URL 参数。
  • 第 8–15 行: 定义请求参数,包含要更新的新值。

响应返回更新后的活动对象,包含修改后的各项信息。

简介

场地创建