网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

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 密钥

  1. 登录或前往maton.ai
  2. 创建一个账户前往
  3. maton.ai/settings

复制您的 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连接或参数无效
401Maton 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密钥问题

  1. 请检查MATON_API_KEY环境变量是否已设置:
echo $MATON_API_KEY
  1. 通过列出连接来验证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

故障排除:应用名称无效

  1. 确保您的URL路径以eventbrite开头。例如:
  • 正确示例:https://gateway.maton.ai/eventbrite/v3/users/me/
  • 错误示例:https://gateway.maton.ai/v3/users/me/

资源

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Chargebee 下一篇:Xhs Note Creator

相关文章

您是本站第290289名访客 今日有236篇新文章/评论