【问题标题】:Twitter API - GET search/tweets for hashtag returns "Could not authenticate you"Twitter API - 获取主题标签的搜索/推文返回“无法验证您”
【发布时间】:2015-03-22 23:12:38
【问题描述】:

我正在使用Postman 从 Twitter API 发出 GET 请求,但在对特定主题标签使用搜索/推文时遇到了一些奇怪的问题。我的目标是返回具有相同#hashtag 的最近推文列表。我正在遵循 Twitter 关于如何执行此操作的说明,该说明可以在 here 找到(在标题“查询参数”下查看)。

这将返回以下 JSON 响应

GET https://api.twitter.com/1.1/search/tweets.json?q=%23somehashtag

{
    "errors": [
        {
            "message": "Could not authenticate you",
            "code": 32
        }
    ]
}

我正在使用 OAuth 1.0,同样基于 Twitter 的文档。我可以通过简单地删除%23 来成功调用同一端点:

GET https://api.twitter.com/1.1/search/tweets.json?q=somehashtag

【问题讨论】:

    标签: twitter oauth twitter-oauth postman


    【解决方案1】:

    由于您使用 OAuth 1.0,这表明生成签名的代码未正确在已签名的有效负载中包含 %23。切换到 OAuth 2.0 将使发送授权请求变得更加容易,并且面向未来。

    【讨论】:

    • 导致 %23hashtag,这是 @sean-connely 已经尝试过的。我也有这个问题。
    【解决方案2】:

    只需要编码#。不需要去OAuth2

    var url="https....?q="+encodeURIComponent("#hashtag")

    它应该适合你。

    【讨论】:

      【解决方案3】:

      我在使用 POSTMAN 时遇到了同样的问题,这似乎是一个错误

      我在不同的场景中发现了这个

      已经过 URL 编码的 GET 参数需要在添加到 oAuth 之前进行解码。 https://github.com/J7mbo/twitter-api-php/pull/112

      似乎没有办法告诉邮递员不编码,但在我的代码中它可以正常工作

      【讨论】:

        【解决方案4】:

        回复旧帖子,但在 Postman 上使用 Bearer Token 正在帮助我解决在查询中使用 #hashtag 的授权问题(代码 32)

        https://api.twitter.com/1.1/search/tweets.json?q=%23somehastag&result_type=recent

        【讨论】:

          猜你喜欢
          • 2019-03-03
          • 2014-01-12
          • 2012-12-03
          • 2014-05-22
          • 2020-11-17
          • 2017-06-07
          • 2018-09-23
          • 2019-05-18
          • 2014-03-04
          相关资源
          最近更新 更多