Logo
Section 1 / 6

创建和更新事件

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

导入

创建和更新事件

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

获取组织的 ID

我们可以使用 API 调用从零开始创建一个活动。为此,我们首先需要一个组织 ID。每个活动都与一个组织相关联,我们需要为活动指定所属的组织。在创建 Eventbrite 账户时会自动创建一个默认组织。点击此处查看组织资料。我们可以上传“组织标志”,更新“组织名称”,并设置“首选国家”。

以下 URL 使用 GET 方法获取组织的详细信息:

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

此 API 调用不接受任何输入参数,返回包含组织详情的 JSON 对象。以下是几个重要的响应参数:

对象类型描述
organizations.id字符串该对象提供组织的唯一 ID。
organizations.name字符串该对象提供组织的名称。

接下来,我们调用 API 获取组织详情:

1import requests 2import json 3 4url = 'https://www.eventbriteapi.com/v3/users/me/organizations/' 5 6headers = { 7 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 8 'Content-Type': 'application/json' 9} 10 11response = requests.request("GET", url, headers=headers).json() 12print(json.dumps(response, indent=4))

上述 API 调用将返回 JSON 对象,其中 organizations 内部的 id 属性即为组织的 ID。

创建活动

现在我们使用获取到的组织 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 货币代码。

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

响应参数

上述 API 调用返回一个 JSON 对象。下表解释了响应对象中一些重要属性。该响应对象包含所有提供的输入参数以及可选参数,其值设为默认值。

对象类型描述
response.id字符串该对象表示活动的唯一 ID。
response.url字符串该对象提供活动预览页面的 URL,用于发布后查看活动页面。
response.status字符串该对象表示活动的状态,可能为 draft(草稿)、started(已开始)、ended(已结束)、completed(已完成)、canceled(已取消)或 live(已发布)。

让我们调用 API 来创建一个活动:

1import requests 2import json 3 4url = 'https://www.eventbriteapi.com/v3/organizations/{{ORGANIZATION_ID}}/events/' 5 6headers = { 7 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 8 'Content-Type': 'application/json' 9} 10 11values = json.dumps({ 12 "event": { 13 "name": { 14 "html": "我的活动名称" 15 }, 16 "description": { 17 "html": "活动的详细描述。" 18 }, 19 "start": { 20 "timezone": "America/Los_Angeles", 21 "utc": "2022-12-01T02:00:00Z" 22 }, 23 "end": { 24 "timezone": "America/Los_Angeles", 25 "utc": "2022-12-01T05:00:00Z" 26 }, 27 "currency": "USD" 28 } 29 }) 30 31response = requests.request("POST", url, headers=headers, data=values).json() 32print(json.dumps(response, indent=4))

获取活动信息

若要获取特定活动的信息,需使用 event_id 来检索活动详情。以下 URL 使用 GET 方法获取活动信息:

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

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

1import requests 2import json 3 4url = 'https://www.eventbriteapi.com/v3/events/{{EVENT_ID}}/' 5 6headers = { 7 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 8 'Content-Type': 'application/json' 9} 10 11response = requests.request("GET", url, headers=headers).json() 12print(json.dumps(response, indent=4))

更新活动

我们可以通过提供 event_id 以及要更新的有效属性来更新活动。

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

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

请求参数

以下是一些重要输入参数:

对象类型类别描述
name多部分文本可选表示要更新的活动名称。
summary字符串可选更新活动摘要。
description多部分文本可选提供要更新的活动描述。
url字符串可选表示要更新的新 URL。
start日期时间(带时区)可选表示活动新的开始日期和时间。
end日期时间(带时区)可选表示活动新的结束日期和时间。
currency字符串可选表示新的货币类型。
online_event布尔值可选表示活动是否为线上活动,取值为 true 或 false。
listed布尔值可选表示活动是否对公众可搜索,取值为 true 或 false。
shareable布尔值可选表示活动是否可在社交网站上分享,取值为 true 或 false。
invite_only布尔值可选确保只有受邀者才能查看活动页面,取值为 true 或 false。
show_remaining布尔值可选表示是否显示剩余票数,取值为 true 或 false。
password字符串可选设置访问活动详情所需的密码。
capacity整数可选表示活动允许的新容量值。
venue_id字符串可选表示活动的新场地 ID。

更新活动时,必须至少提供一个参数。响应将是一个包含更新后值的活动对象。

下面我们尝试更新之前创建的活动的 capacity 和 name:

1import requests 2import json 3 4url = 'https://www.eventbriteapi.com/v3/events/{{EVENT_ID}}/' 5 6headers = { 7 'Authorization': 'Bearer {{PRIVATE_TOKEN}}', 8 'Content-Type': 'application/json' 9} 10 11values = json.dumps({ 12 "event": { 13 "name": { 14 "html": "活动名称已更新" 15 }, 16 "capacity": 100 17 } 18}) 19 20response = requests.request("POST", url, headers=headers, data=values).json() 21print(json.dumps(response, indent=4))

简介

场地创建