我使用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>
)
}
}
答案 0 :(得分:1)
Twitter API does not支持CORS请求。这就是你想要做的。从其他域访问API。您必须在本地服务器上创建一个定制的URL,用于代理对Twitter的请求 API。