article
README
🚀 Transistor API 中文文档
Transistor 提供了一系列 RESTful API,用于管理您的播客内容。借助这些 API,您能够轻松地创建、更新、删除节目,获取分析数据,管理订阅者,以及上传音频文件。
🚀 快速开始
使用 Transistor API 前,请牢记以下两点:
- 所有 API 请求都需要有效的 API 密钥。
- 音频文件必须通过
authorize_UPLOADAPI 获取上传权限后才能使用。
📚 详细文档
🔍 创建剧集
- 请求地址:
POST /v1/episodes - 请求参数:
| 参数 | 详情 |
| ---- | ---- |
|
show_id| 节目 ID,必填字符串 | |title| 剧集标题,必填字符串 | |description| 剧集描述,可选字符串 | |episode_number| 剧集编号,可选整数 | |season_number| 季节数,可选整数 | |audio_url| 音频文件的 URL,必须通过authorize_UPLOADAPI 获取 | - 响应示例:
{
"data": {
"id": "123456",
"title": "我的新剧集",
"description": "这是一个关于播客的新剧集。",
"episode_number": 1,
"season_number": 1,
"audio_url": "https://example.com/episode.mp3"
}
}
🔍 获取剧集
- 请求地址:
GET /v1/episodes/{episode_id} - 路径参数:
| 参数 | 详情 |
| ---- | ---- |
|
episode_id| 剧集 ID,必填字符串 | - 响应参数:
| 参数 | 详情 |
| ---- | ---- |
|
id| 剧集 ID,字符串 | |title| 剧集标题,字符串 | |description| 剧集描述,字符串 | |episode_number| 剧集编号,整数 | |season_number| 季节数,整数 | |audio_url| 音频文件的 URL,字符串 |
🔍 更新剧集
- 请求地址:
PATCH /v1/episodes/{episode_id} - 路径参数:
| 参数 | 详情 |
| ---- | ---- |
|
episode_id| 剧集 ID,必填字符串 | - 请求参数:
| 参数 | 详情 |
| ---- | ---- |
|
title| 新的剧集标题,字符串 | |description| 新的剧集描述,字符串 | |episode_number| 新的剧集编号,整数 | |season_number| 新的季节数,整数 | - 响应示例:
{
"data": {
"id": "123456",
"title": "更新后的标题",
"description": "新的描述。",
"episode_number": 1,
"season_number": 1
}
}
🔍 删除剧集
- 请求地址:
DELETE /v1/episodes/{episode_id} - 路径参数:
| 参数 | 详情 |
| ---- | ---- |
|
episode_id| 剧集 ID,必填字符串 | - 响应示例:
{
"message": "剧集删除成功。"
}
🔍 获取分析数据
- 请求地址:
GET /v1/analytics/episodes/{episode_id} - 路径参数:
| 参数 | 详情 |
| ---- | ---- |
|
episode_id| 剧集 ID,必填字符串 | - 响应参数:
| 参数 | 详情 |
| ---- | ---- |
|
plays| 播放次数,整数 | |unique_plays| 独特播放次数,整数 | |average_rating| 平均评分,可选数值 | |total_ratings| 总评分数量,整数 |
🔍 获取所有剧集的分析数据
- 请求地址:
GET /v1/analytics/episodes - 响应参数:
| 参数 | 详情 |
| ---- | ---- |
|
data| 数组,包含各个剧集的分析数据,每个对象包含以下字段: | |data.episode_id| 剧集 ID,字符串 | |data.title| 剧集标题,字符串 | |data.plays| 播放次数,整数 | |data.unique_plays| 独特播放次数,整数 |
🔍 管理订阅者
⚠️ 重要提示
此功能尚未实现,敬请期待。
🔍 授权上传音频文件
- 请求地址:
POST /v1/uploads - 请求参数:
| 参数 | 详情 |
| ---- | ---- |
|
episode_title| 剧集标题,必填字符串 | |episode_description| 剧集描述,可选字符串 | - 响应参数:
| 参数 | 详情 |
| ---- | ---- |
|
upload_url| 音频文件的上传 URL,字符串 | |audio_url| 成功上传后返回的音频 URL,字符串 | - 示例代码:
import requests
# 获取预签名URL
response = requests.post('https://api.transistor.fm/v1/uploads', json={
'episode_title': '我的新剧集',
'episode_description': '这是一个关于播客的新剧集。'
})
data = response.json()
upload_url = data['upload_url']
# 上传音频文件
with open('episode.mp3', 'rb') as file:
response = requests.put(upload_url, data=file)
🔍 获取已认证用户信息
- 请求地址:
GET /v1/users - 响应参数:
| 参数 | 详情 |
| ---- | ---- |
|
user_id| 用户 ID,字符串 | |email| 用户邮箱,字符串 |
🔍 尚未实现的功能
- 获取订阅者列表:
GET /v1/subscribers - 创建订阅者:
POST /v1/subscribers - 更新订阅者:
PATCH /v1/subscribers/{subscriber_id} - 删除订阅者:
DELETE /v1/subscribers/{subscriber_id}
💻 使用示例
基础用法
创建剧集
import requests
response = requests.post('https://api.transistor.fm/v1/episodes', json={
'show_id': '12345',
'title': '我的新剧集',
'description': '这是一个关于播客的新剧集。',
'episode_number': 1,
'season_number': 1,
'audio_url': 'https://example.com/episode.mp3'
})
print(response.json())
获取分析数据
import requests
response = requests.get('https://api.transistor.fm/v1/analytics/episodes/12345')
print(response.json())
Scan to join WeChat group