reactjs:如何将推特密钥+秘密字符串转换为base64
reactjs: how to convert twitters key + secret string to base64
我正在尝试使用 Twitter 的休息 api。目前我想使用搜索 api。为此,我只需要 application only authentication
。我正在使用 reactjs 前端。我在 html 中使用 react 库。以下是创建组合密钥 + 秘密的代码。我不知道如何转换为 base64。
var key = "*****************";
var secret = "******************";
var cat = key +":"+secret;
var credentials = ?? How to convert cat to base64 ??
这是完整代码。让我知道我必须包含哪些库。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Twitter API</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class Module extends React.Component {
constructor(props) {
super(props);
var key = "*****************";
var secret = "******************";
var cat = key +":"+secret;
var credentials = cat
this.state = {
bearer_token:"XXXXXXXXXXX"
}
this.handleClickGettoken = this.handleClickGettoken.bind(this)
}
handleClickGettoken(){
var url = 'https://api.twitter.com/oauth2/token';
axios({ url: url,
method:'POST',
headers: {
"Authorization": "Basic " + this.credentials,
"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"
},
body: "grant_type=client_credentials"
})
.then(function(response) {
this.setState(prevState => ({
bearer_token: response
})
)
});
}
render() {
return (
<div>
<p>{ this.state.bearer_token }</p>
<button onClick={this.handleClickGettoken}>GetBearerToken</button>
</div>
);
}
}
ReactDOM.render(
<Module />,
document.getElementById('root')
);
</script>
</body>
</html>
这应该可以做到。
var credentials = new Buffer(cat).toString('base64');
如果'Buffer'不可用,尝试:
var credentials = window.btoa(cat);
我正在尝试使用 Twitter 的休息 api。目前我想使用搜索 api。为此,我只需要 application only authentication
。我正在使用 reactjs 前端。我在 html 中使用 react 库。以下是创建组合密钥 + 秘密的代码。我不知道如何转换为 base64。
var key = "*****************";
var secret = "******************";
var cat = key +":"+secret;
var credentials = ?? How to convert cat to base64 ??
这是完整代码。让我知道我必须包含哪些库。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Twitter API</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class Module extends React.Component {
constructor(props) {
super(props);
var key = "*****************";
var secret = "******************";
var cat = key +":"+secret;
var credentials = cat
this.state = {
bearer_token:"XXXXXXXXXXX"
}
this.handleClickGettoken = this.handleClickGettoken.bind(this)
}
handleClickGettoken(){
var url = 'https://api.twitter.com/oauth2/token';
axios({ url: url,
method:'POST',
headers: {
"Authorization": "Basic " + this.credentials,
"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"
},
body: "grant_type=client_credentials"
})
.then(function(response) {
this.setState(prevState => ({
bearer_token: response
})
)
});
}
render() {
return (
<div>
<p>{ this.state.bearer_token }</p>
<button onClick={this.handleClickGettoken}>GetBearerToken</button>
</div>
);
}
}
ReactDOM.render(
<Module />,
document.getElementById('root')
);
</script>
</body>
</html>
这应该可以做到。
var credentials = new Buffer(cat).toString('base64');
如果'Buffer'不可用,尝试:
var credentials = window.btoa(cat);