【发布时间】:2021-12-24 16:39:37
【问题描述】:
我已经为我的 Twitter 开发帐户提供了密钥、密钥和令牌 -
nclient = tweepy.Client(consumer_key=consumer_key, consumer_secret=consumer_sec_key,
access_token=auth.access_token, access_token_secret=auth.access_token_secret)
然后我尝试发一条新的推文 -
new_tweet = nclient.create_tweet("First tweet!")
它给了我以下错误-
TypeError: create_tweet() takes 1 positional argument but 2 were given
当我尝试运行以下命令时 -
new_tweet = nclient.create_tweet(text = "First tweet!")
它给了我以下错误-
Forbidden: 403 Forbidden
请帮我解决这个问题。
【问题讨论】:
-
aalways 将完整的错误消息(从单词“Traceback”开始)作为文本(不是屏幕截图,不是链接到外部门户)有问题(不是评论)。还有其他有用的信息。
-
一些函数使用命名参数——比如
create_tweet(text=...)——如果你将它发送为create_tweet(...),它们将不起作用。而403可能意味着您有错误的 API 密钥。或者模块可能是旧的,它不适用于最新的 API。您可以创建最少的工作代码,这样我们就可以简单地复制并运行它。 -
您是否在生成访问令牌之前对您的应用设置了读写权限?您确定所有 4 个身份验证值都正确吗?你的应用是 Twitter 应用仪表板中项目的一部分吗?
-
@AndyPiper - 我在我的应用上设置了“读取和写入(读取 + 发布推文和个人资料信息)”权限 -
-
@furas - 我测试了其他命令的 API 密钥 (user1 = api.get_user(screen_name = 'SpaceX')),这些都可以正常工作。