为啥我的 Twitter 机器人没有发布它的“.update_status”?
Posted
技术标签:
【中文标题】为啥我的 Twitter 机器人没有发布它的“.update_status”?【英文标题】:Why is my Twitter bot not posting it's ".update_status"?为什么我的 Twitter 机器人没有发布它的“.update_status”? 【发布时间】:2022-01-12 06:21:54 【问题描述】:该代码仅用于测试推文并返回错误。我正在关注一个教程,他们似乎没有返回相同的错误。该教程从 2020 年 5 月开始,但 tweepy 的文档在这些简单的方面似乎没有改变。
import tweepy
import time
consumer_key = 'xxx'
consumer_secret = 'xxx'
#bearertoken = "xxx"
access_token = 'xxx'
access_token_secret = 'xxx'
#authenticate to twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
#create api object
api = tweepy.API(auth, wait_on_rate_limit=True)
##create tweet
api.update_status('1')
当代码尝试运行时,它会返回此错误代码。
Traceback (most recent call last):
File "/Users/thisaintyocompgetoff/Desktop/Twitterbot/twitterbot.py", line 16, in <module>
api.update_status('1')
File "/Users/thisaintyocompgetoff/Desktop/Twitterbot/tweepy/api.py", line 46, in wrapper
return method(*args, **kwargs)
File "/Users/thisaintyocompgetoff/Desktop/Twitterbot/tweepy/api.py", line 1128, in update_status
), status=status, **kwargs
File "/Users/thisaintyocompgetoff/Desktop/Twitterbot/tweepy/api.py", line 259, in request
raise Forbidden(resp)
tweepy.errors.Forbidden: 403 Forbidden
453 - You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve
我没有更高的访问权限,也不应该发布测试推文。所以我一定不知道一次只发送一个请求的某种方式。我还检查了该帐户是否已发布推文。
【问题讨论】:
【参考方案1】:api.update_status
端点是 Twitter API v1.1 的一部分。您只能访问 Twitter API v2。您应该使用 tweepy.Client.create_tweet()
来访问 v2 端点。
【讨论】:
谢谢你,先生,有一个互联网升级哈哈以上是关于为啥我的 Twitter 机器人没有发布它的“.update_status”?的主要内容,如果未能解决你的问题,请参考以下文章