【问题标题】:Twitter Search API: Getting error 32 could not authenticate you with specific searches but not every searchTwitter 搜索 API:出现错误 32 无法通过特定搜索验证您的身份,但并非每次搜索都可以验证您的身份
【发布时间】:2023-04-02 18:00:01
【问题描述】:

我正在使用 python3 向 Twitter 搜索 API 发送请求。我正在 Postman 中测试这些请求,然后使用代码片段生成器复制并粘贴到我的编辑器中以像这样运行:

url = "https://api.twitter.com/1.1/search/tweets.json?q=twitter"

payload={}
headers = {
  'Authorization': 'OAuth oauth_consumer_key="",oauth_token="",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1613517432",oauth_nonce="x",oauth_version="1.0",oauth_body_hash="",oauth_signature=""',
  'Cookie': 'personalization_id=""; lang=en; guest_id='
}


twitter_response = requests.request("GET", url, headers=headers, data=payload)

请求在 Postman 中运行良好。但在我的脚本中,该请求仅在 URL 的查询参数为“nasa”时才有效。如果我将其更改为其他任何内容,我会收到错误 32 无法进行身份验证。

在涉及到 Twitter 搜索 API 时,Python 是否有一些我不知道的怪癖?任何指导都会在这里有所帮助。

【问题讨论】:

    标签: python-3.x twitter


    【解决方案1】:

    听起来您是在从 Twitter 开发文档中复制和粘贴 OAuth 标头,而不是在每个新查询中计算它们。我认为文档使用 NASA 作为示例搜索查询。

    【讨论】:

    • 不,我正在使用我自己的所有 OAuth 密钥(此处未显示),并且在我提出的每个新请求中都会在 Postman 中生成标头。就像我说的,这些请求在 Postman 中工作,并在 API 客户端中返回正确的响应。但是,当我使用相同的代码并将搜索查询从 NASA(这是文档中的示例搜索查询)更改为其他任何内容时,我会收到此错误。
    【解决方案2】:

    我能够通过使用 Tweepy API 包装器找到解决此问题的方法,它解决了我的 OAuth 问题。没有为请求正确格式化标头。

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 2013-06-28
      • 2019-05-18
      • 2011-08-04
      • 1970-01-01
      • 2019-05-18
      • 2016-07-22
      • 1970-01-01
      • 2013-11-28
      相关资源
      最近更新 更多