【问题标题】:Receiving "Stream encountered HTTP error: 403" when using Twitter API. What is causing this error and how can I fix it?使用 Twitter API 时收到“流遇到 HTTP 错误:403”。是什么导致了这个错误,我该如何解决?
【发布时间】:2021-12-30 01:06:54
【问题描述】:

我对使用 Twitter API 非常陌生,并且正在测试一些 Python 代码(如下)

from tweepy import OAuthHandler 
from tweepy import Stream

import twitter_credentials

class StdOutListener(Stream):
    def on_data(self, data):
        print(data)
        return True

    def on_error(self, status):
        print(status)

twitter_stream = StdOutListener(
  twitter_credentials.CONSUMER_KEY, twitter_credentials.CONSUMER_KEY_SECERET,
  twitter_credentials.ACCESS_TOKEN, twitter_credentials.ACCESS_TOKEN_SECERET
)
twitter_stream.filter(track=['#bitcoin'])

但是每当我尝试运行它时,它都会给出这个重复错误“流遇到 HTTP 错误:403”。我检查了 Twitter API 响应代码,错误 403 被列为请求被禁止。

以下是我已经采取的一些故障排除步骤:

  1. 尝试了新的访问密钥/消费者密钥
  2. 尝试创建新的开发者帐户
  3. 卸载并重新安装 tweepy

这些都不适合我。那么是什么导致了这个错误,我该如何解决呢?谢谢。

【问题讨论】:

    标签: python twitter tweepy


    【解决方案1】:

    如果您拥有 Essential 访问权限,您将无法访问 Twitter API v1.1。

    更多信息请参见the FAQ section about this in Tweepy's documentation

    【讨论】:

    • 您好,感谢您的回复,有没有办法访问 Twitter API v1.1 或删除必要的访问权限?
    • 是的,Apply for additional access within the developer portal 正如 Twitter 文档中所说的那样。
    • @AndyPiper,“POST /2/tweets/search/stream/rules”不应该属于 v2 吗?如果是,那么 Tweepy 中是否有任何等价物? Stream.filter() 使用 v1.1,但我在 tweepy 的 Client 下找不到任何东西。这是否意味着我必须直接进行 API 调用?从 REST API 开始,为提出一个菜鸟问题提前道歉
    • Tweepy 还不支持使用 API v2 进行流式传输。见github.com/tweepy/tweepy/issues/1472
    猜你喜欢
    • 2022-08-03
    • 2022-06-15
    • 1970-01-01
    • 2020-04-22
    • 2022-01-07
    • 2011-01-28
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多