筆記:使用google calendar API生成google meet會議室
最近有需求想要產生google meet會議室連結,網路上資料,所以就嘗試使用google calendar API來生成會議室,以下分享。
以Node.js來存取google calendar的步驟如下
- 要使用OAuth2.0機制取回token來存取google calendar
使用api key的作法會無法存取google calendar
可以使用 官方這篇範例code 修改一下來取回 token,取回的token會儲存在token.json中。
前一篇分享node.js存取google calendar API,是在測試gcp的service account的部份,只是因為我是使用google個人帳戶,貌似沒有辦法透過呼叫calendar API的方式來讓它生成google meeting會議室。 - 因為使用oauth2的token,所以就改了一下auth參數的初始化const { google } = require('googleapis'); const auth = new google.auth.OAuth2();const content = fs.readFileSync('token.json', { encoding: 'utf8', flag: 'r' });auth.setCredentials(JSON.parse(content));
- 使用google calendar API要用google.calendar.events.insert來新增日曆事件
- 新增日曆事件的時候需要給予conferenceDataVersion{calendarId: id,conferenceDataVersion: 1,requestBody: resource,}
- resource部份則是必須要指定conferenceSolutionKey並給予自訂的requestIdconferenceData: {createRequest: {requestId: reqId,conferenceSolutionKey: {type: "hangoutsMeet"},},},
經過上述幾個步驟,所生成的日曆事件就會有hangoutLink這個欄位,裡頭放置google meet的會議室連結。
其他
實際應場景其實還有生成Zoom會議室的供,不過因為zoom只有整合在GSuite UI部份,沒有納入google calendar api中,所以就無法直接生。
留言