Node.js 开发非官方的Google Meet API

Node.js 开发非官方的Google Meet API

当谈到虚拟会议时,最简单的方式是使用Google Meet,只需要生成会议链接并将其发送给参与者。但是,反复进行这个过程会很令人沮丧,因此在本文中,我们讨论如何自动化这个过程,并将其作为我们产品/软件的一个特性。

如何自动化这个过程?

为此,我们可以使用Google Meet API,但问题是它并不存在。虽然我们可以借助Google日历API来实现,但对于初学者来说有点困难。

让我们构建一个非官方的Google Meet API,仅限于生成会议链接。

此过程所需的事项 :

启用日历API:

  • 客户端ID
  • 客户端密钥
  • 刷新令牌

步骤1: 访问Google Cloud控制台官方网站https://console.cloud.google.com

步骤2: 如果您有现有的项目,则选择该项目,否则点击新建项目。

步骤3: 选择库选项卡,搜索日历API并启用它。

步骤4: 选择凭据选项卡并创建OAuth客户端ID。

现在我们已经有了客户端ID和客户端密钥,但刷新令牌还未获取。

按照步骤进行:

为了获取刷新令牌,我们将使用PassportJS Google Auth2.0。

步骤1: 进行npm安装:

  • express
  • passport
  • passport-google-oauth20
npm install express passport passport-google-oauth20

步骤2: 将“ https://www.googleapis.com/auth/calendar ”添加到作用域中,以获得可以访问您的Google日历的令牌。

步骤3: 添加您的客户端ID和客户端密钥并运行应用程序。通过Web浏览器访问服务器,以便通过这种方式获取刷新令牌。如果您有困难,您还可以查看上面的视频。

const express = require('express');
const app = express();
const port = 8000;
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
 
clientID = "XXXXX7762268-71s6k9joXXXXX2p0a55ba8li85jXXXXX.apps.googleusercontent.com"
clientSecret = "XXXXPX-iXaXXXXXjcoGsnqYQr0rDJeXXXXX"
 
passport.use(new GoogleStrategy({
    clientID: clientID,
    clientSecret: clientSecret,
    callbackURL: "http://localhost:8000/auth/callback"
},
    function (accessToken, refreshToken, profile, cb) {
        console.log("refreshToken : ", refreshToken)
        return cb();
    }
));
 
app.get('/auth/callback',
    passport.authenticate('google', { failureRedirect: '/' })
);
 
app.get('/auth',
    passport.authenticate('google', {
        scope: ['profile', 'https://www.googleapis.com/auth/calendar'],
        accessType: 'offline',
        prompt: 'consent'
    }
    ));
 
app.get('/', function (req, res) {
    res.send("done")
})
 
app.listen(port, function (err) {
    if (err) {
        console.log('something wrong in starting server !!!');
        return;
    }
    return console.log("server is up and running on port ", port);
});

注意:

  • 将代码中的 ‘X’ 替换为您的客户端密钥和客户端ID以使其运行。
  • 在获得刷新令牌后,您不需要再次进行此过程。

安装另一个由我发布的 npm 软件包 google-meet-API,并提供我们拥有的所有细节。

const Meeting = require('google-meet-api').meet;
Meeting({
      clientId : 'XXXXdds420ghq7195tfsbi04i7rduaans.apps.googleusercontent.com',
    clientSecret : 'XXXXxxeh2mrCZ',
    refreshToken : 'XXXXXXXXXCNfW2MMGvJUSk4V7LplXAXXXX',
    date : "2020-12-01",
    time : "10:59",
    summary : 'summary',
    location : 'location',
    description : 'description'
    }).then(function(result){
    console.log(result);
})

现在结果是最终的Google会议链接在这里。在此处检查完整的代码:

Github: https://github.com/sumitjangir123/Google-meeting-links

我假设您喜欢本文并且发现文章对您的目的有益。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程