为啥我的 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”?的主要内容,如果未能解决你的问题,请参考以下文章

我的电脑插入U盘后为啥没有反应?

为啥我的不和谐机器人不知道它的@Mention?

为啥我的 twitter oauth 访问令牌无效/过期

试图让 Twitter 机器人同时发布两张图片

Twitter api - 可以发帖吗?

为啥 twitter 的 API 会返回垃圾(有时)?