我正试图从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来查看该应用程序发送的内容。但必须有一些简单的我做错了。有什么想法吗?
答案 0 :(得分:0)
糟糕。我发现了这个问题,至少在卷曲尝试时:不知怎的,一条换行符偷偷溜进我的授权字符串而没有注意到。当我突破线路时,它会起作用。
为噪音道歉(但也许有一天这会帮助其他人)。