我正在尝试使用React从某个用户那里获取推文,但是我遇到了这个问题。
Failed to load https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=reactjs: Response for preflight has invalid HTTP status code 400.
这是React代码:
import React, { Component } from 'react';
import Twitter from 'twitter';
import { twitterConfig } from './twitter-config.js';
import logo from './logo.svg';
import './App.css';
class App extends Component {
constructor(){
super();
this.Client = new Twitter(twitterConfig);
this.searchTwitter = this.searchTwitter();
}
searchTwitter(){
this.Client.get('statuses/user_timeline', {screen_name: 'reactjs'}, function(error, tweets, response) {
if (!error) {
console.log(tweets);
} else {
console.log(error);
}
});
}
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
this.searchTwitter
</p>
</div>
);
}
}
export default App;
这是twitter配置文件的外观。我已经仔细检查了所有密钥和机密是否与我的Twitter应用程序仪表板匹配。
export const twitterConfig = {
consumer_key: '...',
consumer_secret: '...',
access_token_key: '...',
access_token_secret: '...'
};
使用Chrome检查器时,我发现请求方法是OPTIONS而不是GET。为什么会这样呢?什么是OPTIONS请求方法?我做错了什么?