You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Twitter API request_token接口返回500内部错误问题求助

问题原因及修复方案

你遇到的500错误核心是OAuth签名生成逻辑存在多处不符合Twitter OAuth 1.0a规范的问题,具体错误点和修复方法如下:

  • 错误1:request_token阶段错误携带oauth_token参数
    OAuth 1.0a流程中,调用request_token接口是获取用户授权的第一步,此时你还未获得任何用户级的access token和对应的secret,不需要在签名的参数列表中加入oauth_token字段,签名密钥也只需要拼接<MY_CONSUMER_SECRET>&即可,末尾的&不需要跟token secret,留空即可。
  • 错误2:签名基串中的API路径错误
    你实际请求的接口是https://api.twitter.com/oauth/request_token,但签名基串中写入的路径多了/1.1前缀,修改为正确的编码后路径https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token即可。
  • 错误3:签名参数中加入了不存在的include_entities=true
    你本次request_token请求的所有参数(URL参数、Authorization头参数)中都没有include_entities字段,签名时加入不存在的参数会直接导致签名校验失败,删除该字段即可。
  • 错误4:时间戳格式错误
    OAuth 1.0规范要求的时间戳是Unix秒级时间戳,而JavaScript的Date.now()返回的是毫秒级时间戳,需要修改为Math.floor(Date.now() / 1000)生成秒级时间戳。
  • 额外优化建议
    不需要把oauth_callback放在URL参数中,仅在Authorization头中携带即可,同时确保签名前所有参数已经按照ASCII码顺序升序排列后再拼接。

内容的提问来源于stack exchange,提问作者Mike Luken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:39:00