使用 Tweepy 访问 Twitter API 时如何修复“403 Forbidden”错误?

问题描述 投票:0回答:1

我有一个可以免费访问的 Twitter 开发者帐户。据我了解,我可以发布推文。但我不断收到错误。

这是代码:

import tweepy, sqlite3 as db, os

# Put your Twitter API keys and stuff here
CONSUMER_KEY = ""
CONSUMER_SECRET = ""
ACCESS_TOKEN = ""
ACCESS_TOKEN_SECRET = ""

auth = tweepy.OAuth1UserHandler(
    CONSUMER_KEY, 
    CONSUMER_SECRET, 
    ACCESS_TOKEN, 
    ACCESS_TOKEN_SECRET
)
api = tweepy.API(auth)

这是错误:

tweepy.errors.Forbidden:403 禁止 453 - 您当前有权访问 Twitter API v2 端点的子集和有限的 v1.1 端点 仅限(例如媒体发布、oauth)。如果您需要访问此端点, 您可能需要不同的访问级别。您可以在这里了解更多信息: https://developer.twitter.com/en/portal/product

我尝试重新生成所有密钥,但仍然没有帮助。

python twitter tweepy
1个回答
2
投票

您似乎正在尝试调用Twitter API v1.1,它只能用于媒体上传

对于推文创建,您必须调用Twitter API v2

示例:

# Authenticate to Twitter
client = tweepy.Client(
    consumer_key=CONSUMER_KEY,
    consumer_secret=CONSUMER_SECRET,
    access_token=ACCESS_TOKEN,
    access_token_secret=ACCESS_TOKEN_SECRET
)

# Post Tweet
message = " MESSAGE "
client.create_tweet(text=message)
print("Tweeted!")

发布带有图像的推文:

# Authenticate to Twitter
client = tweepy.Client(
    consumer_key=CONSUMER_KEY,
    consumer_secret=CONSUMER_SECRET,
    access_token=ACCESS_TOKEN,
    access_token_secret=ACCESS_TOKEN_SECRET,
)
auth = tweepy.OAuth1UserHandler(
    CONSUMER_KEY,
    CONSUMER_SECRET,
    ACCESS_TOKEN,
    ACCESS_TOKEN_SECRET,
)

# Create API object
api = tweepy.API(auth, wait_on_rate_limit=True)

# Create tweet
message = " MESSAGE "

# Upload image
media = api.media_upload("tweet_img.png")

# Post tweet with image
client.create_tweet(text=message, media_ids=[media.media_id])
print("Tweeted!")

欲了解更多信息:

https://developer.twitter.com/en/docs/twitter-api

https://docs.tweepy.org/en/stable/client.html#tweepy.Client.create_tweet

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.