API 接口文档

QQ群好友自助获取测试Token
请输入您加入QQ群的QQ号
基本信息
API Base URL: https://twitterapi.xiaowupro.top
Content-Type: application/json
字符编码: UTF-8
认证方式: Token认证(URL参数)
获取KOL推文列表
GET

接口地址: /api/v1/user/last_tweets

功能描述: 获取指定KOL的最新推文列表,支持Token认证和速率限制

请求参数(URL参数)
参数名 类型 必填 说明 示例
token String API访问令牌 your_access_token
kol_id String KOL的用户ID(Twitter用户ID) 44196397
count Integer 获取推文数量,默认10,范围1-20 10
请求示例
GET /api/v1/user/last_tweets?token=your_access_token&kol_id=44196397&count=10
响应参数
参数名 类型 说明
status String 响应状态:success 或 fail
data Object 响应数据对象
data.kol_id String KOL用户ID
data.count Integer 返回的推文数量
data.tweets Array 推文列表
data.tweets[].tweet_id String 推文ID
data.tweets[].text String 推文文本内容
data.tweets[].tweet_type String 推文类型(普通推文、转发等)
data.tweets[].created_at String 推文创建时间
data.tweets[].web_url String 推文网页URL
data.tweets[].tweet_json Object 推文完整JSON数据
data.token_usage Object Token使用情况
data.token_usage.used Integer 已使用次数
data.token_usage.max Integer 最大使用次数
data.token_usage.remaining Integer 剩余使用次数
data.rate_limit Object 速率限制信息
data.rate_limit.limit Integer 速率限制(次/分钟)
data.rate_limit.remaining Integer 本分钟剩余请求次数
data.rate_limit.window String 限流时间窗口(60s)
成功响应示例
{
    "status": "success",
    "data": {
        "kol_id": "44196397",
        "count": 2,
        "tweets": [
            {
                "tweet_id": "1234567890123456789",
                "text": "这是一条推文内容...",
                "tweet_type": "普通推文",
                "created_at": "2025-12-15 10:30:00",
                "web_url": "https://twitter.com/elonmusk/status/1234567890123456789",
                "tweet_json": {
                    "id": "1234567890123456789",
                    "full_text": "完整推文内容...",
                    "user": {
                        "id": "44196397",
                        "screen_name": "elonmusk",
                        "name": "Elon Musk"
                    },
                    "entities": {},
                    "extended_entities": {}
                }
            },
            {
                "tweet_id": "1234567890123456788",
                "text": "另一条推文...",
                "tweet_type": "普通推文",
                "created_at": "2025-12-15 09:00:00",
                "web_url": "https://twitter.com/elonmusk/status/1234567890123456788",
                "tweet_json": {}
            }
        ],
        "token_usage": {
            "used": 150,
            "max": 1000,
            "remaining": 850
        },
        "rate_limit": {
            "limit": 5,
            "remaining": 4,
            "window": "60s"
        }
    }
}
错误响应示例
// 缺少参数
{
    "status": "fail",
    "reason": "缺少kol_id参数"
}

// Token无效
{
    "status": "fail",
    "reason": "Token无效或已过期"
}

// 速率限制
{
    "status": "fail",
    "reason": "请求过于频繁,每分钟最多5次请求,已达上限,请稍后再试"
}

// Token用尽
{
    "status": "fail",
    "reason": "Token使用次数已达上限"
}
HTTP状态码说明
状态码 说明 可能原因
200 请求成功 正常返回数据
400 请求参数错误 缺少必需参数或参数格式错误
401 认证失败 Token无效、过期或Token使用次数已用尽
429 请求过于频繁 超过速率限制,需等待一段时间后重试
500 服务器内部错误 系统异常,请联系管理员
使用说明
1. 获取Token

请联系系统管理员获取API访问Token。每个Token都有使用次数限制和速率限制。

2. 速率限制

默认速率限制为 5次/分钟。超过限制会返回429错误,需等待后重试。

3. 使用次数

每个Token都有最大使用次数限制,用尽后需要续期或申请新Token。可通过响应中的 token_usage 字段查看剩余次数。

4. KOL ID 获取

kol_id 是Twitter用户的数字ID(不是用户名)。可以通过Twitter API或第三方工具获取。

5. 推荐做法
  • 每次请求后检查 rate_limit.remaining,避免触发速率限制
  • 定期检查 token_usage.remaining,提前申请续期
  • 合理设置 count 参数,避免获取过多数据
  • 妥善保管Token,避免泄露
调用示例
Python示例
import requests

# API配置
API_BASE_URL = "http://your-server:port"
TOKEN = "your_access_token"

# 请求参数
params = {
    "token": TOKEN,
    "kol_id": "44196397",
    "count": 10
}

# 发送请求
response = requests.get(f"{API_BASE_URL}/api/v1/user/last_tweets", params=params)
data = response.json()

# 处理响应
if data["status"] == "success":
    tweets = data["data"]["tweets"]
    print(f"获取到 {len(tweets)} 条推文")
    for tweet in tweets:
        print(f"- {tweet['text']}")
    
    # 检查剩余次数
    remaining = data["data"]["token_usage"]["remaining"]
    print(f"Token剩余使用次数: {remaining}")
else:
    print(f"请求失败: {data['reason']}")
JavaScript示例
const API_BASE_URL = 'http://your-server:port';
const TOKEN = 'your_access_token';

// 构建请求URL
const params = new URLSearchParams({
    token: TOKEN,
    kol_id: '44196397',
    count: 10
});

// 发送请求
fetch(`${API_BASE_URL}/api/v1/user/last_tweets?${params}`)
    .then(response => response.json())
    .then(data => {
        if (data.status === 'success') {
            const tweets = data.data.tweets;
            console.log(`获取到 ${tweets.length} 条推文`);
            tweets.forEach(tweet => {
                console.log(`- ${tweet.text}`);
            });
            
            // 检查剩余次数
            const remaining = data.data.token_usage.remaining;
            console.log(`Token剩余使用次数: ${remaining}`);
        } else {
            console.error(`请求失败: ${data.reason}`);
        }
    })
    .catch(error => {
        console.error('请求错误:', error);
    });