You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码调用Twitter API更新状态失败问题求助

问题解决方案

1. 核心问题分析

你遇到两个关键错误:

  • 403权限错误:api.update_status()是Twitter API v1.1的旧端点,免费基础测试套餐已无法访问该接口,必须改用Twitter API v2的推文创建功能。
  • 异常捕获错误:Tweepy 4.x及以上版本已移除tweepy.TweepError,所有异常类统一放在tweepy.errors模块下。

2. 修改后的可运行代码

import tweepy
import os

def main():
    # 从环境变量读取密钥
    consumer_key = os.environ['API_KEY']
    consumer_secret = os.environ['API_KEY_SECRET']
    access_token = os.environ['ACCESS_TOKEN']
    access_token_secret = os.environ['ACCESS_TOKEN_SECRET']

    # 初始化API v2客户端(替代原v1.1的tweepy.API)
    client = tweepy.Client(
        consumer_key=consumer_key,
        consumer_secret=consumer_secret,
        access_token=access_token,
        access_token_secret=access_token_secret
    )

    tweet_text = "Good morning, Twitter!"

    try:
        # 使用API v2的create_tweet方法发推
        response = client.create_tweet(text=tweet_text)
        print(f"推文发布成功,ID: {response.data['id']},内容: {tweet_text}")
    except tweepy.errors.Forbidden as e:
        print("权限不足:", e)
    except tweepy.errors.BadRequest as e:
        print("请求参数错误:", e)
    except Exception as e:
        print("未知错误:", e)

if __name__ == "__main__":
    main()

3. 额外注意事项

  • 确保你的Twitter开发者账号已开启API v2的基础访问权限(测试阶段需确认权限配置正确)
  • 检查环境变量中的密钥是否完全匹配,避免拼写错误
  • 若使用旧版Tweepy,升级到最新版:pip install --upgrade tweepy

内容的提问来源于stack exchange,提问作者Testy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:35:34