微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NodeJS 中的无缝 Google 授权

如何解决NodeJS 中的无缝 Google 授权

我的应用程序是一个事件管理系统,我想将事件链接用户的 Google 日历。我已经尝试在 npm 上使用 googleapis 来检索刷新令牌,但这需要有人在终端上单击链接并从他们的文档中输入重定向 URL 中的代码

// in nodejs
const authUrl = oauth2client.generateAuthUrl({
      access_type: "offline",scope: ScopES,});

    console.log("Authorize this app by visiting this url:",authUrl);
    const rl = readline.createInterface({
      input: process.stdin,output: process.stdout,});

    rl.question("Enter the code from that page here: ",(code) => {
      rl.close();
      oauth2client.getToken(code,async (err,token) => {
        if (err) return console.error("Error retrieving access token",err);
        oauth2client.setCredentials(token);

        // store in database

        callback(oauth2client);
      });
    });

如果我不将access_type设置为离线,我相信它会导致访问令牌在一个小时内再次需要重新授权,这不是我想要的。

是否有一种不需要交互的自动方式来获取一组凭据(使用或不使用此包)?

或者,有没有办法通过前端 (ReactJS) 获取所需的凭据(OAuth 刷新令牌)?那里的大多数材料似乎都需要重新授权。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?