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

尝试从Twitter获取OAuth2令牌时出现错误400或503,twitter,https,oauth,Twitter,Https,Oauth,我正在尝试从Twitter Oauth2 API获取我的应用程序专用承载令牌。根据我的操作方式,我会收到错误400(错误请求)或503(服务暂时不可用)。我被难住了 尝试1是通过HTTPS套接字(在Xojo中,如果您必须知道的话);当这失败时,我使用原始SSL套接字,这样我就可以确切地知道我要发送什么。我发送此邮件(此处省略凭证): 此请求直接按照中的请求建模。它产生400(错误请求)错误代码 然后我决定尝试curl(再次省略): 每次都会产生一个503状态码 我的凭证只是我的API密钥和密码的

我正在尝试从Twitter Oauth2 API获取我的应用程序专用承载令牌。根据我的操作方式,我会收到错误400(错误请求)或503(服务暂时不可用)。我被难住了

尝试1是通过HTTPS套接字(在Xojo中,如果您必须知道的话);当这失败时,我使用原始SSL套接字,这样我就可以确切地知道我要发送什么。我发送此邮件(此处省略凭证):

此请求直接按照中的请求建模。它产生400(错误请求)错误代码

然后我决定尝试curl(再次省略):

每次都会产生一个503状态码


我的凭证只是我的API密钥和密码的Base64版本,加上冒号。使用STTwitterDemoOSX测试时,相同的密钥和秘密可以正常工作。我几乎(但不是很)绝望地使用WireShark来查看该应用程序发送的内容。但肯定有一些简单的事情我做错了。有什么想法吗?

哦。我发现了问题,至少在curl尝试中是这样:不知何故,一个换行符潜入了我的授权字符串,而我没有注意到。当我把线路断开时,它就起作用了

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

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
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'