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

Tweepy的api.list_direct_messages接口count参数不生效问题

Tweepy获取已发送私信为空问题修复方案

问题根因

tweepy.API.list_direct_messages()默认仅拉取当前账号收到的私信,你没有额外指定拉取范围的情况下,自然无法查询到已发送的私信内容,所以返回长度为0的空列表。

修复后的完整代码

import tweepy

CONSUMER_KEY = 'private'
CONSUMER_SECRET = 'private'
ACCESS_KEY = 'private'
ACCESS_SECRET = 'private'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
# 新增wait_on_rate_limit参数自动处理速率限制,避免手动等待
api = tweepy.API(auth, wait_on_rate_limit=True)

# 新增sent=True指定拉取已发送私信,count指定拉取数量
dms = api.list_direct_messages(count=5, sent=True)
print(len(dms))
for dm in dms:
    # 直接调用id属性即可,无需手动解析_json字段
    api.destroy_direct_message(dm.id)

额外注意事项

如果调整参数后仍然返回空列表,请检查两项配置:

  • 你的Twitter开发者账号已经申请了Direct Message Read/Write权限,权限不足会导致接口正常返回空但无报错
  • 如果你使用的是Tweepy v4及以上版本,部分旧接口已迁移到v2版本,若v1.1的list_direct_messages不生效,可以切换使用api.get_dm_events()接口查询私信事件列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:06:07