Twitter API V2 上的意外速率限制(POST 创建推文)

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

我对 Twitter API 相当陌生,并且遇到了以下问题。

我尝试使用“Twitter v2 API /管理推文/POST 创建推文”端点发送推文。 不幸的是,每次我(手动)调用此端点时,这都会导致错误“429”

{
    "title": "Too Many Requests",
    "detail": "Too Many Requests",
    "type": "about:blank",
    "status": 429
}

返回的标头没有显示任何奇怪的内容(从我没有经验的角度来看),请参见下面的屏幕截图

Headers of 429 response

一些一般性评论:

  • 我的 Twitter 开发者帐户中只有 1 个应用程序。
  • 此应用程序内只有一个应用程序。
  • 我是唯一手动生成请求的人。
  • 执行是手动的,并且全部在 API 的范围内(每 15 分钟 200 次)

我从“开箱即用”的 create_tweet.py 解决方案开始(请参阅下面的链接),由于我的误解,我向同一 Twitter 用户发出了多个授权请求,(按照链接,输入 PIN)可能会触发一些阻塞或拒绝的类型?我重新生成了所有令牌并通过 Postman 重新开始(如快速入门中所述,请参阅下面的链接) 错误 429 仍然存在(均通过 Postman 使用 python 脚本)

有人有想法吗?

链接:

python twitter http-status-code-429
1个回答
0
投票

我不确定这是否能回答您的问题。您的 Twitter API 密钥可能具有

read-only
访问权限,如下所示。

而不是

read and write
权限,如下所示。

您可以这样设置

read and write
权限:

  1. 转到 URL https://developer.twitter.com/en/portal/dashboard
  2. 选择您的项目申请
  3. 转到“设置”选项卡
  4. 选择底部的“用户身份验证设置”部分
  5. 添加
    read and write
  6. 的身份验证
  7. 在应用程序类型下选择“本机应用程序”
  8. 填写回调URL和网站URL。我为此使用了垃圾
  9. 保存这些设置
  10. 返回应用程序详细信息页面上的“密钥和令牌”选项卡。
  11. 找到“身份验证令牌”部分
  12. 单击“添加”/“重新生成”。这将生成一个具有“读和写”权限的新令牌。

我使用下面的代码将一条新推文发布到我的 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

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