Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在React和Express之间使用Oauth回调?_Node.js_Reactjs_Mailchimp_Mailchimp Api V3.0 - Fatal编程技术网

Node.js 如何在React和Express之间使用Oauth回调?

Node.js 如何在React和Express之间使用Oauth回调?,node.js,reactjs,mailchimp,mailchimp-api-v3.0,Node.js,Reactjs,Mailchimp,Mailchimp Api V3.0,我正在尝试将MailChimp的API集成到我的React应用程序中,这将允许用户授权他们的MailChimp帐户在我的应用程序中使用。我还没有找到关于它的教程,因此我将遵循仅使用express的本教程: 我已经通过Mailchimp设置了我的应用程序/我的客户机密/客户id等: 重定向URI ``````` 我保留了与教程相同的express代码,只是将我的客户机机密放在了.env文件中: server.js 但是,在本教程中,回调函数位于如下编写的HTML文件中: <!doctype

我正在尝试将MailChimp的API集成到我的React应用程序中,这将允许用户授权他们的MailChimp帐户在我的应用程序中使用。我还没有找到关于它的教程,因此我将遵循仅使用express的本教程:

我已经通过Mailchimp设置了我的应用程序/我的客户机密/客户id等:

重定向URI ```````

我保留了与教程相同的express代码,只是将我的客户机机密放在了.env文件中:

server.js 但是,在本教程中,回调函数位于如下编写的HTML文件中:

<!doctype html>
<html>
    <head>
        <title>Integrate MailChimp</title>
    </head>
    <body>
        <a class="btn btn-primary" href="/mailchimp/auth/authorize">Connect with MailChimp</a>
    </body>
</html>

我在网上搜索了一下,试图找到一个使用React&Express for MailChimp Oauth进行应用程序授权的工作示例,但我还没有找到。我的问题是,我是否在重定向中设置了一些错误,或者在React中是否有更好的建议来处理此请求?

404错误表示您没有映射到
/mailchimp/auth/callback
的路由。从你的代码看你还没有写过

除非您尚未提供相应的代码,否则您需要教程中代码提到的路由处理程序:

app.get('/mailchimp/auth/callback', function(req, res) {
  request.post('https://login.mailchimp.com/oauth2/token')
         .send(querystring.stringify({
   ...
}

使用
localhost
代替
127.0.0.1
,有什么区别吗?@GBWDev是的,文档要求您使用127.0.0.1而不是localhost。我可以看看您的repo吗?我需要实现同样的目标,Thanks@KaleemElahi我这里有一个使用GITHUB进行OAuth访问的例子:感谢您指出这一点,我的眼睛呆滞了,认为它与
mailchimp/auth/authorize
相同。我可以登录和回拨代码。
class MailChimp extends Component {

  render() {
    return (
      <div>
        <h1>MailChimp Auth</h1>
        <a href={'http://127.0.0.1:3000/mailchimp/auth/authorize'}>Mailchimp</a>
      </div >
    )
  }
}

export default withRouter(MailChimp);
GET /mailchimp/auth/callback 404 2.818 ms - 162
Failed to load resource: the server responded with a status of 404 (Not Found)
app.get('/mailchimp/auth/callback', function(req, res) {
  request.post('https://login.mailchimp.com/oauth2/token')
         .send(querystring.stringify({
   ...
}