Eventbrite
2026-03-27
新闻来源:网淘吧
围观:10
电脑广告
手机广告
Eventbrite
通过托管的 OAuth 认证访问 Eventbrite API。管理活动、场地、票务类别、订单、参与者等。
快速入门
# Get current user
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/eventbrite/v3/users/me/')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
基础 URL
https://gateway.maton.ai/eventbrite/{native-api-path}
将{native-api-path}替换为实际的 Eventbrite API 端点路径。网关将请求代理到www.eventbriteapi.com并自动注入您的 OAuth 令牌。
认证
所有请求都需要在 Authorization 请求头中包含 Maton API 密钥:
Authorization: Bearer $MATON_API_KEY
环境变量:将您的 API 密钥设置为MATON_API_KEY:
export MATON_API_KEY="YOUR_API_KEY"
获取您的 API 密钥
复制您的 API 密钥
请在以下网址管理您的Eventbrite OAuth连接https://ctrl.maton.ai。
列出连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections?app=eventbrite&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
创建连接
python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'eventbrite'}).encode()
req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
获取连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
响应:
{
"connection": {
"connection_id": "a2dd9063-64b4-4fe2-b4c5-8dd711648244",
"status": "ACTIVE",
"creation_time": "2026-02-07T09:11:20.516013Z",
"last_updated_time": "2026-02-07T09:14:35.273822Z",
"url": "https://connect.maton.ai/?session_token=...",
"app": "eventbrite",
"metadata": {}
}
}
在浏览器中打开返回的网址以完成OAuth授权。
删除连接
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
指定连接
如果您有多个Eventbrite连接,请使用Maton-Connection标头指定要使用的连接:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://gateway.maton.ai/eventbrite/v3/users/me/')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', 'a2dd9063-64b4-4fe2-b4c5-8dd711648244')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
如果省略,网关将使用默认(最早建立的)活动连接。
API参考
用户操作
获取当前用户
GET /eventbrite/v3/users/me/
响应:
{
"emails": [{"email": "user@example.com", "verified": true, "primary": true}],
"id": "1234567890",
"name": "John Doe",
"first_name": "John",
"last_name": "Doe",
"is_public": false,
"image_id": null
}
列出用户所属组织
GET /eventbrite/v3/users/me/organizations/
列出用户订单
GET /eventbrite/v3/users/me/orders/
组织操作
列出组织活动
GET /eventbrite/v3/organizations/{organization_id}/events/
查询参数:
状态- 按状态筛选:草稿、进行中、已开始、已结束、已完成、已取消排序依据- 排序顺序:开始时间升序、开始时间降序、创建时间升序、创建时间降序时间筛选- 按时间筛选:当前及未来、过去
列出组织场地
GET /eventbrite/v3/organizations/{organization_id}/venues/
创建场地
POST /eventbrite/v3/organizations/{organization_id}/venues/
Content-Type: application/json
{
"venue": {
"name": "Conference Center",
"address": {
"address_1": "123 Main St",
"city": "San Francisco",
"region": "CA",
"postal_code": "94105",
"country": "US"
}
}
}
活动操作
获取活动
GET /eventbrite/v3/events/{event_id}/
创建活动
活动必须在组织下创建:
POST /eventbrite/v3/organizations/{organization_id}/events/
Content-Type: application/json
{
"event": {
"name": {"html": "My Event"},
"description": {"html": "<p>Event description</p>"},
"start": {
"timezone": "America/Los_Angeles",
"utc": "2026-03-01T19:00:00Z"
},
"end": {
"timezone": "America/Los_Angeles",
"utc": "2026-03-01T22:00:00Z"
},
"currency": "USD",
"online_event": false,
"listed": true,
"shareable": true,
"capacity": 100,
"category_id": "103",
"format_id": "1"
}
}
更新活动
POST /eventbrite/v3/events/{event_id}/
Content-Type: application/json
{
"event": {
"name": {"html": "Updated Event Name"},
"capacity": 200
}
}
发布活动
POST /eventbrite/v3/events/{event_id}/publish/
取消发布活动
POST /eventbrite/v3/events/{event_id}/unpublish/
取消活动
POST /eventbrite/v3/events/{event_id}/cancel/
删除活动
DELETE /eventbrite/v3/events/{event_id}/
票务类别操作
列出票务类别
GET /eventbrite/v3/events/{event_id}/ticket_classes/
创建票务类别
POST /eventbrite/v3/events/{event_id}/ticket_classes/
Content-Type: application/json
{
"ticket_class": {
"name": "General Admission",
"description": "Standard entry ticket",
"quantity_total": 100,
"cost": "USD,2500",
"sales_start": "2026-01-01T00:00:00Z",
"sales_end": "2026-02-28T23:59:59Z",
"minimum_quantity": 1,
"maximum_quantity": 10
}
}
对于免费票,请省略费用字段或设置免费:真。
更新票务类别
POST /eventbrite/v3/events/{event_id}/ticket_classes/{ticket_class_id}/
Content-Type: application/json
{
"ticket_class": {
"quantity_total": 150
}
}
删除票务类别
DELETE /eventbrite/v3/events/{event_id}/ticket_classes/{ticket_class_id}/
参会者操作
列出活动参会者
GET /eventbrite/v3/events/{event_id}/attendees/
查询参数:
状态- 按状态筛选:参加、不参加、未付款changed_since- ISO 8601 时间戳,用于获取在此时间之后发生变更的参会者
获取参会者
GET /eventbrite/v3/events/{event_id}/attendees/{attendee_id}/
订单操作
列出活动订单
GET /eventbrite/v3/events/{event_id}/orders/
查询参数:
状态- 按状态筛选:活跃、非活跃、全部changed_since- ISO 8601 时间戳
获取订单
GET /eventbrite/v3/orders/{order_id}/
场地操作
获取场地
GET /eventbrite/v3/venues/{venue_id}/
更新场地
POST /eventbrite/v3/venues/{venue_id}/
Content-Type: application/json
{
"venue": {
"name": "Updated Venue Name"
}
}
参考数据
列出类别
GET /eventbrite/v3/categories/
响应:
{
"locale": "en_US",
"pagination": {"object_count": 21, "page_number": 1, "page_size": 50},
"categories": [
{"id": "103", "name": "Music", "short_name": "Music"},
{"id": "101", "name": "Business & Professional", "short_name": "Business"},
{"id": "110", "name": "Food & Drink", "short_name": "Food & Drink"}
]
}
获取类别
GET /eventbrite/v3/categories/{category_id}/
列出子类别
GET /eventbrite/v3/subcategories/
列出格式
GET /eventbrite/v3/formats/
常见格式:
1- 会议2- 研讨会或讲座5- 节庆或集市6- 音乐会或演出9- 课程、培训或工作坊10- 会议或社交活动11- 派对或社交聚会
列出国家
GET /eventbrite/v3/system/countries/
列出地区
GET /eventbrite/v3/system/regions/
分页
Eventbrite 使用基于页面和基于延续的分页组合:
GET /eventbrite/v3/organizations/{org_id}/events/?page_size=50
对于后续页面,使用
{
"pagination": {
"object_count": 150,
"page_number": 1,
"page_size": 50,
"page_count": 3,
"has_more_items": true,
"continuation": "eyJwYWdlIjogMn0"
},
"events": [...]
}
继续令牌:扩展
GET /eventbrite/v3/organizations/{org_id}/events/?continuation=eyJwYWdlIjogMn0
通过使用
扩展参数来包含相关数据:常见扩展:
GET /eventbrite/v3/events/{event_id}/?expand=venue,ticket_classes,category
场地
- 包含场地详情票务类别- 包含票务信息类别- 包含类别详情子类别- 包含子类别详情格式- 包含格式详情组织者- 包含组织者信息代码示例
JavaScript
Python
const response = await fetch(
'https://gateway.maton.ai/eventbrite/v3/users/me/',
{
headers: {
'Authorization': `Bearer ${process.env.MATON_API_KEY}`
}
}
);
const user = await response.json();
备注
import os
import requests
response = requests.get(
'https://gateway.maton.ai/eventbrite/v3/users/me/',
headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'}
)
user = response.json()
Notes
- 所有端点路径应以斜杠结尾
/) - 事件创建需要关联组织——请使用基于组织的端点
- 基于用户的旧版事件端点已弃用;请改用对应的组织端点
- 时间戳采用ISO 8601格式(UTC时区)
- 金额单位采用最小货币单位(分)——例如:"USD,2500"表示25.00美元
- 频率限制:每小时1,000次调用,每天48,000次调用
- 事件搜索API已不再公开提供(2020年2月起弃用)
- 重要提示:使用curl命令时,若URL包含方括号,请使用
curl -g以禁用通配符解析 - 重要提示:当通过管道将curl输出传递给
jq或其他命令时,部分Shell环境中$MATON_API_KEY等环境变量可能无法正确展开
错误处理
| 状态码 | 含义 |
|---|---|
| 400 | 缺少Eventbrite连接或参数无效 |
| 401 | Maton API密钥无效或缺失 |
| 403 | 未授权(请检查权限范围或使用组织端点) |
| 404 | 资源未找到 |
| 429 | 请求频率受限 |
| 4xx/5xx | 来自Eventbrite API的透传错误 |
常见错误
使用旧版用户端点时出现NOT_AUTHORIZED错误:
{"status_code": 403, "error": "NOT_AUTHORIZED", "error_description": "This user is not able to use legacy user endpoints, please use the organization equivalent."}
解决方案:请使用/organizations/{org_id}/events/而非/users/me/owned_events/
故障排除:API密钥问题
- 请检查
MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
- 通过列出连接来验证API密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://ctrl.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF
故障排除:应用名称无效
- 确保您的URL路径以
eventbrite开头。例如:
- 正确示例:
https://gateway.maton.ai/eventbrite/v3/users/me/ - 错误示例:
https://gateway.maton.ai/v3/users/me/
资源
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Chargebee
下一篇:Xhs Note Creator


微信扫一扫,打赏作者吧~