Tweepy api: create_friendship() 采用 1 个位置参数,但给出了 2 个
Tweepy api: create_friendship() takes 1 positional argument but 2 were given
根据文档,我有一些代码可以从 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
)
不过我只是 运行 一个不属于 class 的简单脚本,所以我没有任何与自身相关的范围。有解决这个问题的简单方法吗?
使用 python 3.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
class 的实例),以及一些关键字参数。我假设预期的关键字参数是 screen_name=
、user_id=
、follow=
,如 documentation page whose link appears in the doc comment.
中所述
这意味着函数应该被调用为
api.create_friendship(user_id=tweet.user.id)
根据文档,我有一些代码可以从 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
)
不过我只是 运行 一个不属于 class 的简单脚本,所以我没有任何与自身相关的范围。有解决这个问题的简单方法吗?
使用 python 3.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
class 的实例),以及一些关键字参数。我假设预期的关键字参数是 screen_name=
、user_id=
、follow=
,如 documentation page whose link appears in the doc comment.
这意味着函数应该被调用为
api.create_friendship(user_id=tweet.user.id)