【问题标题】:Unable to request a token from the Twitter OAuth API using ES6 Fetch无法使用 ES6 Fetch 从 Twitter OAuth API 请求令牌
【发布时间】:2017-02-27 04:52:03
【问题描述】:

我正在尝试通过使用 ES6 在 React Native 中的 Fetch API 对 https://api.twitter.com/oauth/request_token 的 POST 请求从 Twitter 的 API 获取令牌。

这是我的代码:

fetch('https://api.twitter.com/oauth/request_token', {
  method: 'POST',
  headers: {
    Oauth: {
      oauth_callback: 'reactnativechirp://callback',
      oauth_consumer_key: keys.consumerKey,
      oauth_nonce: nonce,
      oauth_signature: 'Pc%2BMLdv028fxCErFyi8KXFM%2BddU%3D',
      oauth_signature_method: 'HMAC-SHA1',
      oauth_timestamp: epoch,
      oauth_version: '1.0'
    }
  }
})
.then((res) => res.json())
.then((json) => {
  console.log(json);
})

oauth_nonce 设置为一个 nonce 变量,我将其作为随机的 20 个字符的字符串即时生成。

oauth_timestamp 使用 new Date().getTime() 设置为当前 Unix 纪元时间

这个请求是在componentDidMount() 中发出的,我收到一个错误对象,用code: 215, message: 'Bad Authentication data. 记录到控制台

我做错了什么?

【问题讨论】:

标签: javascript twitter oauth react-native


【解决方案1】:

我认为您使用的是旧的 twitter api。您可以使用 https://github.com/BoyCook/TwitterJSClienthttps://github.com/aivis/user-stream 库来验证和使用 twitter api。
如果没有,您还可以研究 oauth 如何与最新的 twitter API 1.1 版一起工作here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2012-06-22
    • 2011-09-05
    • 2017-01-10
    • 2016-10-23
    • 2010-12-14
    • 2013-10-22
    相关资源
    最近更新 更多