因此,我为 Twitter 机器人编写了一段代码,该机器人在每个星期四发布“YES”推文。但是,当我运行代码时,出现以下错误:
403 禁止 453 - 您当前只能访问 Twitter API v2 端点的子集和有限的 v1.1 端点(例如媒体发布、oauth)。如果您需要访问此端点,您可能需要不同的访问级别。您可以在这里了解更多信息:https://developer.twitter.com/en/portal/product
这是我写的代码
import tweepy
import datetime
import time
consumer_key = 'XXXXXXXXXXXXXXXXXXXXXXXXX'
consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
access_token_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
def is_giovedi():
return datetime.datetime.now().strftime('%A') == 'Thursday'
def post_tweet():
if is_giovedi():
tweet = "SI"
else:
tweet = "NO"
api.update_status(status=tweet)
if __name__ == "__main__":
now = datetime.datetime.now()
target_time = now.replace(hour=12, minute=0, second=0, microsecond=0)
if now < target_time:
time_to_wait = (target_time - now).seconds
print(f"Aspetto {time_to_wait} secondi")
time.sleep(time_to_wait)
post_tweet()
print("Tweet inviato con successo!")
希望有人能帮助我
我输入了代码从 Twitter 开发者门户向我询问的密钥,但是当我运行代码时,它给了我这个错误
您似乎尝试调用Twitter API v1.1,它只能用于媒体上传。
要发布推文,您应该调用Twitter API v2。
替换:
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
使用以下代码片段:
# Authenticate to Twitter
client = tweepy.Client(
consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
access_token_secret=access_token_secret
)
并且,还替换:
api.update_status(status=tweet)
使用以下代码片段:
# Post Tweet
client.create_tweet(text=tweet)
有关 Twitter API v2 的更多信息:
https://developer.twitter.com/en/docs/twitter-api
https://docs.tweepy.org/en/v4.14.0/client.html#
我希望这有帮助。