使用React获取推文

时间:2018-01-15 14:57:14

标签: javascript node.js reactjs twitter npm

我使用Twit包来推送推文。我一直收到错误400,

  

无法加载https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitterdev&count=10:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。响应的HTTP状态代码为400.如果不透明的响应符合您的需求,请将请求的模式设置为“no-cors'在禁用CORS的情况下获取资源。

其中大部分能够与vanillajs一起使用,但是一旦我导入React,我就会遇到这些错误。我该如何解决?我已经取出API密钥以确保安全。

import React, { Component } from 'react';
import Twit from 'twit';

export default class Twitter extends Component {

  componentDidMount() {
    const T = new Twit({
      consumer_key:         '...',
      consumer_secret:      '...',
      access_token:         '...',
      access_token_secret:  '...'
    })

    let params = {
      screen_name: 'twitterdev',
      count: 10
    };

    function getData(err, data, response) {
      let tweet = data;

      for (var i = 0; i<tweet.length; i++) { 
        console.log(tweet[i].text); 
        console.log();
       }
    }

    T.get('statuses/user_timeline', params, getData);
  }

  render() {
    return(
      <div></div>
    )
  }
}

1 个答案:

答案 0 :(得分:1)

Twitter API does not支持CORS请求。这就是你想要做的。从其他域访问API。您必须在本地服务器上创建一个定制的URL,用于代理对Twitter的请求 API。