【问题标题】:Getting error 400 or 503 when attempting to get OAuth2 Token from Twitter尝试从 Twitter 获取 OAuth2 令牌时出现错误 400 或 503
【发布时间】:2018-11-03 21:47:26
【问题描述】:

我正在尝试从 Twitter Oauth2 API 获取我的 App-Only Bearer 令牌。根据我的操作方式,我会收到错误 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 来查看该应用程序正在发送什么。但一定有一些简单的事情我做错了。有什么想法吗?

【问题讨论】:

    标签: twitter https oauth


    【解决方案1】:

    哎呀。我发现了问题,至少在 curl 尝试中:不知何故,换行符在我没有注意到的情况下潜入了我的授权字符串。当我把线路中断时,它就起作用了。

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

    【讨论】:

      猜你喜欢
      • 2015-06-01
      • 1970-01-01
      • 2013-12-04
      • 2022-06-23
      • 2019-06-23
      • 2021-11-04
      • 1970-01-01
      • 2015-02-22
      • 2011-10-25
      相关资源
      最近更新 更多