繁体   English   中英

从 Twitter API 获取不记名令牌的问题

[英]Problem getting Bearer Token from Twitter API

我正在尝试设置为使用 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 小时后提出的。 如果我超时,我不确定它会持续多久。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM