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);