在 Node.js 中开发非官方的 Google Meet API
谈到虚拟会议,想到的最简单的方法就是 Google Meet,只需生成会议链接并将其发送给参与者即可。但是一遍又一遍地这样做是令人沮丧的,所以在本文中,我们将讨论如何自动化这个过程并使其成为我们产品/软件的一个功能。
如何自动化这个过程?
因此,为此,我们可以使用 Google Meet API,但问题是它不存在。虽然我们可以借助谷歌日历 API 来做到这一点,但对于初学者来说有点难以理解。
让我们为 google meet 构建一个仅限于生成会议链接的非官方 API。
此过程所需的东西:
启用日历 API:
- 客户编号
- 客户秘密
- 刷新令牌
如果您不知道如何启用 Calendar API 以及如何获取它们,请不要担心,请查看视频或按照以下步骤操作:
第一步:访问谷歌云控制台官网 https://console.cloud.google.com
第 2 步:如果您有一个现有项目,则选择该项目或单击一个新项目。
第 3 步:选择库选项卡,搜索日历 API 并启用它。
第 4 步:选择凭证选项卡并创建 OAuth 客户端 ID。
现在我们有了客户端 ID 和客户端密码,但仍然缺少刷新令牌。
按照分步流程进行操作:
对于刷新令牌,我们将使用 passportJS google auth2.0。
第 1 步:执行 npm 安装:
- 表示
- 护照和,
- 护照-谷歌-oauth20
npm install express passport passport-google-oauth20
第2步:将“ https://www.googleapis.com/auth/calendar ”添加到获取可以访问您的谷歌日历的令牌的范围内。
第 3 步:添加您的客户端 ID 和客户端密码并运行应用程序。通过您的网络浏览器访问服务器,这样您就可以获得刷新令牌。如果你被困在某个地方,你也可以看看上面的视频。
Javascript
const express = require('express');
const app = express();
const port = 8000;
const passport = require('passport');
var 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);
});
Javascript
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);
})
注意:
- 将代码中的“X”替换为您的客户端密钥和客户端 ID 以使其运行。
- 获得刷新令牌后,您无需一次又一次地执行此过程。
再安装一个由我 google-meet-api 发布的 npm 包,并将我们拥有的所有详细信息提供给它。
Javascript
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);
})
现在结果是这里的最终谷歌会议链接。在此处查看完整代码:
Github:https://github.com/sumitjangir123/Google-meeting-links
我假设您喜欢这篇文章并发现这些材料对您的目的有益。