Twitter API 访问因发布简单推文而被拒绝

Que*_*ner 3 twitter bots tweepy twitter-oauth

使用下面的 python 代码,当身份验证成功时,我收到以下错误:

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

我目前正在使用developer.twitter.com上的免费版本。

代码:

import tweepy

# 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)

try:
    api.verify_credentials()
    print("Authentication OK")
except:
    print("Error during authentication")

# Create a tweet
api.update_status("content of tweet")
Run Code Online (Sandbox Code Playgroud)

这个链接中,正确的访问权限描述如下:

自由的

  • 用于只写用例和测试 Twitter API
  • 对 v2 推文发布和媒体上传端点的访问进行速率限制
  • 每月 1,500 条推文 - 应用程序级别的发布限制
  • 1 个应用程序 ID
  • 使用 Twitter 登录

这是错误日志:

验证成功

回溯(最近一次调用最后一次):文件“...\create_tweet.py”,第 19 行,在 api.update_status('推文内容') 文件“...\tweepy\api.py”,第 46 行,在包装
返回方法(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^ 文件 "C:...\tweepy\api.py", 行979,在 update_status 返回 self.request( ^^^^^^^^^^^^^^ 文件 "C:...\tweepy\api.py",第 271 行,在请求中
引发 Forbidden(resp) tweepy.errors .Forbidden: 403 Forbidden 453 - 您当前只能访问 Twitter API v2 端点的子集和有限的 v1.1 端点(例如媒体发布、oauth)。如果您需要访问此端点,则可能需要不同的访问级别。您可以在这里了解更多信息: https: //developer.twitter.com/en/portal/product

Vik*_*šan 6

正如您问题下的评论中所提到的,可以使用 V2 端点发布推文。tweepy 支持这些端点,工作代码示例如下:

import tweepy
    
client = tweepy.Client(
    consumer_key=API_KEY,
    consumer_secret=API_KEY_SECRET,
    access_token=ACCESS_TOKEN,
    access_token_secret=ACCESS_TOKEN_SECRET
)

client.create_tweet(text='Test.')
Run Code Online (Sandbox Code Playgroud)

编辑 1:请注意,创建具有重复内容的推文将导致tweepy.errors.Forbidden: 403 Forbidden.

编辑 2:将自己置于https://developer.twitter.com/en/portal/productsFree的选项卡中,并确保您的项目列在那里。您的应用程序必须位于该项目下,即它不能再是独立的应用程序。