【问题标题】:Problem getting Bearer Token from Twitter API从 Twitter API 获取不记名令牌的问题
【发布时间】:2020-06-20 15:35:03
【问题描述】:

我正在尝试设置为使用 Twitter API(仅限应用程序身份验证),但在获取不记名令牌时遇到了问题,因此我可以开始拨打电话。具体来说,我得到的是 HTTP 403

{
    "code": 99,
    "message": "Unable to verify your credentials",
    "label": "authenticity_token_error"
}

我已设置应用程序和开发环境并拥有我的凭据(API 密钥和 API 密钥)。

我正在使用 Talend API Tester 来完成所有这些工作。

我只是没有看到问题所在。这是来自 Twitter 文档的示例请求,下面是我的请求,直接来自浏览器。

推特示例:

POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0.23
Authorization: Basic eHZ6MWV2RlM0d0VFUFRHRUZQSEJvZzpMOHFxOVBaeVJnNmllS0dFS2hab2xHQzB2SldMdzhpRUo4OERSZHlPZw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 29
Accept-Encoding: gzip

grant_type=client_credentials

我的实际要求:

POST /oauth2/token HTTP/1.1
Authorization: Basic ektCUTl5Q0tWRERVUVFwUDJXYzljWlpyYTowM1ZIb -- not really a key -- xhaHByMmlqWld3RkIxa1gxaXZ6cQ==
User-Agent: My App
Accept-Encoding: gzip
Content-Length: 29
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Host: api.twitter.com

grant_type=client_credentials

在 Authorization 和 User-Agent 标头之外,它们是相同的。

因为 Talend API Tester 获取用户名和密码并对 Authorization 标头进行 Base 64 编码,所以我什至获取了 API 密钥,将其与 API 密钥放在一起,并用冒号分隔它们(根据 Twitter 文档) 并手动进行 Base 64 编码并获得与请求中发送的相同值。

我确实读过,如果您提出太多请求,您可以获得 403,基本上是让您超时,但上面的请求只是在我上次尝试后 24 小时后使用新密钥提出的。如果我超时,我不确定它会持续多久。

【问题讨论】:

    标签: authentication twitter


    【解决方案1】:

    很好。我决定使用 Postman 尝试这个请求,有点令人震惊的是,它第一次就成功了。不确定 Talend API Tester 的问题是什么,但在这里失败得很惨。

    【讨论】:

      猜你喜欢
      • 2021-04-06
      • 2022-11-28
      • 2015-02-22
      • 2021-03-30
      • 2019-03-30
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      相关资源
      最近更新 更多