从Twitter API获取承载令牌问题

问题描述 投票:0回答:1

我正在尝试设置为使用Twitter API(仅应用程序身份验证),并且在获取承载令牌时遇到了麻烦,因此我可以开始进行调用。具体来说,我正在获取HTTP 403

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

我已经设置了应用程序和开发环境,并获得了我的凭据(API密钥和API秘密密钥)。

我正在使用Talend API测试器进行所有操作。

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

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小时以上。如果超时,我不确定它能持续多长时间。

api authentication twitter
1个回答
0
投票

欢迎。我决定使用Postman尝试此请求,这有点令人震惊,它第一次起作用。不知道Talend API Tester到底出了什么问题,但是这里却失败了。

© www.soinside.com 2019 - 2024. All rights reserved.