Twitter API V2(POST创建推文)出现了意外的速率限制。

3
我对Twitter API还比较新,遇到了以下问题。
我尝试使用“Twitter v2 API / Manage tweets / POST Create a Tweet”端点发送推文。 不幸的是,每次我手动调用这个端点时都会出现错误'429'。
{
    "title": "Too Many Requests",
    "detail": "Too Many Requests",
    "type": "about:blank",
    "status": 429
}

返回的标题栏没有显示任何奇怪的东西(从我这个经验不足的角度来看),请参见下面的截图。

Headers of 429 response

一些一般性的备注:
  • 我在我的Twitter开发者账户中只有一个应用程序。
  • 在这个应用程序中只有一个App。
  • 我是唯一一个手动生成请求的人。
  • 执行是手动的,并且都在API的限制范围内(每15分钟最多200次)。

我从“out the box” create_tweet.py解决方案开始(见下面的链接),由于我误解了,我用相同的Twitter用户进行了多次授权请求(按照链接,输入PIN码),也许触发了某种类型的阻塞或拒绝?我重新生成了所有的令牌,并通过Postman重新开始(如快速入门中所述,见下面的链接)。错误429仍然存在(无论是使用Python脚本还是通过Postman)。

有人有什么想法吗?

链接:

1个回答

2

我不确定这是否回答了你的问题。你的 Twitter API 密钥可能具有如下所示的 只读 访问权限。

enter image description here

不是如下所示的“读写”权限。

enter image description here

你可以通过以下方式设置“读写”权限:
  1. 访问链接 https://developer.twitter.com/en/portal/dashboard
  2. 选择你的项目应用
  3. 进入“设置”选项卡
  4. 在底部选择“用户认证设置”部分
  5. 添加“读写”认证
  6. 在应用类型下选择“本地应用”
  7. 填写回调URL和网站URL。我这里使用了无效的信息
  8. 保存这些设置
  9. 返回到应用详情页的“密钥和令牌”选项卡
  10. 找到“认证令牌”部分
  11. 点击“添加”/“重新生成”。这将生成一个具有“读写”权限的新令牌。

我使用下面的代码向我的Twitter账户发布了一条新推文。

import tweepy


consumer_key = ""
consumer_secret = ""
access_token = ""
access_token_secret = ""

client = tweepy.Client(consumer_key, consumer_secret, access_token, access_token_secret)
try:
   client.create_tweet(text="This is an automated test")

except requests.exceptions.ReadTimeout:
     pass
except requests.exceptions.Timeout:
     pass
tweepy.errors.TweepyException as e:
     print(e)
     pass


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接