Python-Twitter 库从 v2 迁移到 v3 的完整指南

Python-Twitter 库从 v2 迁移到 v3 的完整指南

python-twitter A Python wrapper around the Twitter API. python-twitter 项目地址: https://gitcode.com/gh_mirrors/py/python-twitter

前言

Python-Twitter 是一个功能强大的 Python 库,用于与 Twitter API 进行交互。随着版本 3 的发布,该库进行了多项重要变更,旨在提高一致性、消除潜在问题并添加新功能。本文将详细介绍从 v2 迁移到 v3 时需要注意的所有关键变化。

现有方法的变更

基础 API 变更

twitter.api.Api() 构造函数移除了 shortner 参数,这是为了简化 API 并移除不再需要的功能。

方法参数重命名

多个方法的参数名称进行了调整,主要是为了避免与 Python 内置函数冲突并提高一致性:

  • CreateFavoriteDestroyFavoriteidstatus_id
  • DestroyBlockiduser_id
  • DestroyStatusGetStatusidstatus_id
  • GetTrendsWoeididwoeid
  • PostRetweetoriginal_idstatus_id

这些变更使 API 更加一致,减少了开发者的记忆负担。

分页和批量获取改进

Twitter API 的分页机制进行了重大调整:

  • GetBlocks 不再接受 user_idscreen_name 参数,现在只返回认证用户的屏蔽列表
  • GetFollowersGetFriends 移除了 countcursor 参数,改为使用 total_count 控制返回数量
  • 新增了 GetFollowersPagedGetFriendsPaged 方法,返回更结构化的分页数据

用户实体包含默认值变更

include_user_entities 参数现在默认为 True,这更符合 Twitter API 的实际行为,因为即使不指定该参数,Twitter 也会默认返回用户实体信息。

流 API 改进

GetUserStream 方法的 stall_warning 参数更名为 stall_warnings,与 Twitter 官方命名保持一致,现在能正确接收停滞警告。

媒体上传增强

PostUpdate 方法新增了媒体相关参数:

  • media:支持 URL、本地文件或文件类对象
  • media_additional_owners:指定可重用媒体的用户 ID 列表
  • media_category:广告 API 专用参数

废弃的方法

PostMedia 和 PostMultipleMedia

这两个方法已被 Twitter 官方废弃,建议使用增强后的 PostUpdate 方法替代。PostUpdate 现在支持直接上传多个媒体文件(最多4个),功能更加强大。

新增方法

分页相关方法

  • GetBlocksIDs:获取认证用户屏蔽的所有用户 ID
  • GetBlocksIDsPaged:分页获取屏蔽用户 ID
  • GetBlocksPaged:分页获取屏蔽用户详细信息
  • GetListMembersPaged:分页获取列表成员
  • GetListsPaged:分页获取用户列表

这些方法提供了更灵活的数据获取方式,特别适合处理大量数据。

媒体上传方法

  • UploadMediaChunked:支持大文件分块上传

    • 可自定义块大小(默认1MB)
    • 自动处理媒体类型识别
    • 返回上传文件的 media_id
  • UploadMediaSimple:简单文件上传

    • 适合小文件
    • 只需一次 API 调用
    • 返回上传文件的 media_id

迁移建议

  1. 参数重命名:检查所有调用,更新参数名称
  2. 分页处理:使用新的分页方法替代旧的分页逻辑
  3. 媒体上传:迁移到新的上传方法,特别是大文件上传
  4. 废弃方法:尽快替换 PostMediaPostMultipleMedia 调用
  5. 测试验证:全面测试应用,确保所有功能正常工作

总结

Python-Twitter v3 带来了许多改进,使 API 更加一致和强大。虽然迁移需要一些工作,但这些变更将为开发者提供更好的体验和更强大的功能。遵循本文指南,您可以顺利完成从 v2 到 v3 的迁移。

python-twitter A Python wrapper around the Twitter API. python-twitter 项目地址: https://gitcode.com/gh_mirrors/py/python-twitter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈韬淼Beryl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值