如何在Tweepy中提及用户?测试自我提及代码执行失败求助
解决Tweepy中提及用户(含自我提及)的问题
嘿,我来帮你搞定这个Tweepy提及用户的问题!你当前的代码出错的原因很明确:api.get_user()返回的是一个User类对象,而api.update_status()方法需要接收的是字符串类型的推文内容,直接传对象肯定无法生成有效的提及,甚至会抛出类型错误。
正确的实现方式
不管是提及其他用户还是自我提及,核心都是在推文中使用 @用户名 的格式,下面是两种可行的写法:
方法一:直接写入用户名(最简单)
如果你已经明确知道要提及的用户名(比如你的账号名myaccountusername),直接构造带@的字符串即可:
# 自我提及示例,也可以替换成其他用户名 api.update_status("@myaccountusername 这是一条自我提及的测试推文!")
方法二:通过get_user获取用户名后构造
如果你需要通过get_user接口获取用户信息再生成提及,可以提取User对象的screen_name属性(这才是用户的推特用户名):
# 获取目标用户对象 target_user = api.get_user(screen_name="myaccountusername") # 构造带提及的推文内容并发布 api.update_status(f"@{target_user.screen_name} 这是通过API获取用户名后的提及测试!")
额外注意事项
- 推文内容不能仅包含提及,最好搭配一些额外文本,否则可能被Twitter API判定为无效内容而拒绝发布
- 确保你的Tweepy版本与使用的API版本匹配(你用的
update_status属于Twitter API v1.1,如果你是用v2版本,需要改用create_tweet方法) - 确认你的API密钥、访问令牌等已正确配置,且账号拥有发布推文的权限
内容的提问来源于stack exchange,提问作者Hellobro Hey
相关产品推荐
相关产品推荐

