调用Twitter API.get_user()报TypeError参数数量错误如何解决
Twitter API调用参数错误修复方案
你遇到的
TypeError: takes 1 positional argument but 2 were given报错,核心原因是调用的方法仅需要1个位置参数,实际运行时你传入了2个参数。
结合Twitter API开发的常见场景,问题触发原因和修复方式如下:
- 最常见的错误写法:你已经完成了API客户端实例初始化(实例命名通常为
api),调用实例下的获取用户方法时,手动把实例本身作为第一个参数传入了,类似下面的错误代码:user = api.get_user(api, screen_name="目标账号用户名")
实例方法运行时会自动把实例本身作为默认的self参数传入,不需要手动传递,直接按方法要求传入业务参数即可,修改为下面的写法即可正常运行:user = api.get_user(screen_name="目标账号用户名")
获取到用户对象后,直接取user.id就能拿到对应账号的ID。
- 其他可能的触发场景:你没有完成客户端实例初始化,直接调用了API类的静态方法,这种情况只要先按官方文档要求完成API密钥、令牌的配置,初始化得到客户端实例后再调用对应方法即可。
内容的提问来源于stack exchange,提问作者chrisscartier
相关产品推荐
相关产品推荐

