尝试从Twitter获取OAuth2令牌时获取错误400或503

时间:2018-05-24 15:34:45

标签: twitter https oauth

我正试图从Twitter Oauth2 API获取我的App-Only持票人令牌。根据我的方式,我得到错误400(错误请求)或503(服务暂时不可用)。我很难过。

尝试1是通过HTTPS套接字(在Xojo中,如果你必须知道的话);当失败时我退到原始SSL套接字,以便我知道完全我发送的内容。我发送此信息(此处提供的凭据):

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

grant_type=client_credentials

此请求直接在docs中的请求之后建模。它产生400(错误请求)错误代码。

然后我决定尝试curl(再次,凭证格式):

curl -i -d 'grant_type=client_credentials' -H 'Authorization: Basic MUs1NGpv (...blah blah...) mpxeQ==' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' 'https://api.twitter.com/oauth2/token'

每次都会生成503状态代码。

我的凭据只是我的API密钥和秘密的Base64版本,由冒号连接。使用STTwitterDemoOSX进行测试时,相同的密钥和秘密工作正常。我几乎(但不是很)绝望地使用WireShark来查看该应用程序发送的内容。但必须有一些简单的我做错了。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

糟糕。我发现了这个问题,至少在卷曲尝试时:不知怎的,一条换行符偷偷溜进我的授权字符串而没有注意到。当我突破线路时,它会起作用。

为噪音道歉(但也许有一天这会帮助其他人)。