本文介绍了Tweepy API:create_Friendship()接受1个位置参数,但给出了2个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一些代码根据文档调用Tweepy API中的函数:
api = tweepy.API(auth)
...
api.create_friendship(tweet.user.id)
或者,我尝试使用重载:
api.create_friendship(tweet.user.username)
任一实现都会产生错误:
create_friendship() takes 1 positional argument but 2 were given
做一些研究,可以通过将self的一个实例传递到函数中来避免此错误,如下所示:
@payload('user')
def create_friendship(self, **kwargs):
""" :reference: https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/post-friendships-create
"""
return self.request(
'POST', 'friendships/create', endpoint_parameters=(
'screen_name', 'user_id', 'follow'
), **kwargs
)
然而,我只是运行一个简单的脚本,它不是类的一部分,所以我没有任何与self相关的作用域。有什么简单的方法可以绕过这个问题吗?
使用python3.9
推荐答案
签名和文档注释本应提示您:
def create_friendship(self, **kwargs):
""" :reference: https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/post-friendships-create
"""
由此,您应该能够推断create_friendship
方法接受一个(隐式)位置参数(API
类的实例)和一些关键字参数。我假设预期的关键字参数是screen_name=
、user_id=
、follow=
,如documentation page whose link appears in the doc comment中所述。
这意味着该函数可能应该调用为
api.create_friendship(user_id=tweet.user.id)
这篇关于Tweepy API:create_Friendship()接受1个位置参数,但给出了2个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!