推文获取功能故障排除指南.md•4.75 kB
# 推文获取功能故障排除指南
## 问题诊断
如果推文获取功能无法正常工作,请按以下步骤进行诊断:
### 第一步:运行测试脚本
```bash
cd /path/to/x-mcp
python test_tweet_functions.py
```
这个脚本会测试:
- API凭据是否正确配置
- 客户端连接是否正常
- 搜索推文功能是否可用
### 第二步:检查常见问题
#### 1. API权限问题
**症状:**
- 搜索功能返回403错误
- 获取推文时提示"Unauthorized"
**解决方案:**
1. 登录 [Twitter Developer Portal](https://developer.x.com/)
2. 检查项目设置:
- 确保项目类型设置正确
- 验证"Read"权限已启用
- 检查API访问级别
#### 2. API使用限制
**症状:**
- 返回429错误(Rate limit exceeded)
- 搜索结果为空
**解决方案:**
- 免费用户限制:每月500,000次推文查看
- 搜索限制:仅最近7天的推文
- 等待限制重置或升级到付费计划
#### 3. 配置问题
**症状:**
- 连接失败
- 凭据错误
**解决方案:**
检查 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_actual_api_key",
"TWITTER_API_SECRET": "your_actual_api_secret",
"TWITTER_ACCESS_TOKEN": "your_actual_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_actual_access_token_secret"
}
}
}
}
```
### 第三步:验证API凭据
1. **获取新的API密钥:**
- 访问 [Twitter Developer Portal](https://developer.x.com/)
- 进入你的项目
- 重新生成API密钥和访问令牌
2. **检查权限设置:**
- 用户身份验证设置:读写权限
- 应用类型:Web应用
- 回调URL:`http://localhost/`
- 网站URL:`http://example.com/`
### 第四步:测试特定功能
#### 测试搜索功能
```python
# 在Claude中尝试
"搜索包含'AI'的最新推文"
```
#### 测试获取推文
```python
# 需要有效的推文ID
"获取推文 1234567890123456789 的内容"
```
#### 测试批量获取
```python
# 需要有效的推文ID列表
"批量获取推文 123456789, 987654321 的信息"
```
## 常见错误及解决方案
### 错误1:`Tweet not found or not accessible`
**原因:**
- 推文已被删除
- 推文设为私密
- 推文ID不正确
**解决:**
- 验证推文ID是否正确
- 尝试获取公开的推文
- 检查推文是否仍然存在
### 错误2:`Twitter API rate limit exceeded`
**原因:**
- 超出API调用频率限制
- 短时间内请求过多
**解决:**
- 等待15分钟后重试
- 减少请求频率
- 考虑升级API计划
### 错误3:`Unauthorized`
**原因:**
- API凭据无效
- 权限设置不正确
- 访问令牌过期
**解决:**
- 重新生成API密钥
- 检查权限设置
- 更新配置文件
### 错误4:`Forbidden`
**原因:**
- API访问级别不足
- 功能需要付费计划
- 账户被限制
**解决:**
- 升级到付费API计划
- 检查账户状态
- 联系Twitter支持
## 功能限制说明
### 免费用户限制
- **月度限制:** 500,000次推文查看
- **搜索范围:** 最近7天内的推文
- **批量限制:** 单次最多100条推文
- **无统计数据:** 无法获取点赞数、转发数等
### 付费用户优势
- 更高的API调用限制
- 历史推文搜索(超过7天)
- 推文统计数据访问
- 更稳定的服务质量
## 调试技巧
### 1. 启用详细日志
在服务器代码中临时添加更多日志:
```python
import logging
logging.basicConfig(level=logging.DEBUG)
```
### 2. 使用简单测试
从最简单的功能开始测试:
1. 搜索常见关键词
2. 获取知名账户的推文
3. 批量获取少量推文
### 3. 检查网络连接
确保网络连接稳定,可以访问Twitter API。
### 4. 监控API使用情况
在Twitter Developer Portal查看API使用统计。
## 联系支持
如果以上步骤都无法解决问题:
1. **提交Issue:** 在GitHub仓库提交详细的错误报告
2. **包含信息:**
- 错误消息的完整内容
- 测试脚本的输出结果
- API使用情况截图
- 配置文件(隐藏敏感信息)
3. **Twitter支持:** 对于API权限问题,可能需要联系Twitter开发者支持
## 替代方案
如果推文获取功能确实无法使用:
1. **手动获取:** 直接在Twitter网站查看推文内容
2. **其他工具:** 使用其他Twitter API工具进行测试
3. **升级计划:** 考虑升级到Twitter API付费计划
记住,Twitter API的政策和限制经常变化,某些功能可能需要特定的API访问级别或付费计划。