Tweepy 4.3.0调用create_friendship报参数数量错误如何解决
问题原因
你使用的Tweepy 4.3.0属于4.x版本,该版本起create_friendship方法不再支持未指定名称的位置参数,必须显式声明传入的是用户账号名screen_name还是用户数字IDuser_id,直接传值会触发参数数量不匹配的报错。
另外你的代码存在变量命名混淆问题:你把status.user.screen_name(用户账号名)赋值给了名为user_id的变量,和方法参数user_id(指代用户数字ID)重名,容易引发后续逻辑错误,建议调整命名。
修改后可正常运行的代码
import tweepy consumer_key = "" consumer_secret = "" access_token = "" access_token_secret = "" # OAuth auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) for status in api.search_tweets(q='Python RT', count=2): tweet_id = status.id print(tweet_id) # 修改变量名,明确存储的是用户账号名 screen_name = status.user.screen_name print(screen_name) # 显式指定参数名调用方法 api.create_friendship(screen_name=screen_name)
如果你需要通过用户数字ID完成关注,可使用如下写法:
# 取用户数字ID user_numeric_id = status.user.id api.create_friendship(user_id=user_numeric_id)
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

