Tweepy调用Client.like()出现AttributeError: NoneType无partition属性如何解决
错误原因
这个报错的核心是like属于用户级别的写入操作,仅用应用级的Bearer Token初始化Tweepy Client没有足够的权限,也缺少必需的用户访问令牌参数,导致Client实例中的access_token值为None,调用方法时读取属性抛出异常。
排查解决步骤
- 首先确认你的Twitter开发者项目权限:进入开发者控制台对应项目,开启OAuth 1.0a的读写权限,若之前仅开通只读权限,需要重新提交权限申请,审核通过后重新生成所有密钥凭证。
- 补全Tweepy Client初始化的认证参数:除了Bearer Token外,还需要传入应用的
consumer_key、consumer_secret,以及要操作点赞的账号对应的access_token、access_token_secret,所有凭证均可在开发者后台项目的密钥管理页获取。
修正后代码示例
import tweepy from keys import keys # 传入完整认证参数初始化Client client = tweepy.Client( bearer_token=keys["bearer_token"], consumer_key=keys["consumer_key"], consumer_secret=keys["consumer_secret"], access_token=keys["access_token"], access_token_secret=keys["access_token_secret"] ) # 点赞推文功能 def like_tweets(): like = client.like(1466906017120153601) print(like) like_tweets()
补充注意
如果你需要操作非开发者账号关联的其他Twitter账号点赞,需要走标准OAuth 1.0a授权流程获取对应用户的access_token和access_token_secret,不可直接使用开发者后台生成的默认账号凭证。
内容的提问来源于stack exchange,提问作者Luca König
相关产品推荐
相关产品推荐

