【发布时间】:2022-01-18 20:44:59
【问题描述】:
我正在尝试使用 google Calendar API 从 G-Calendar 获取所有事件。以下代码适用于 Node.js
const {google} = require('googleapis');
const auth = new google.auth.JWT(
CREDENTIALS.client_email,
null,
CREDENTIALS.private_key,
SCOPES
);
const getEvents = async (dateTimeStart, dateTimeEnd) => {
try {
let response = await calendar.events.list({
auth: auth,
calendarId: calendarId,
timeMin: dateTimeStart,
timeMax: dateTimeEnd,
timeZone: 'Asia/Kolkata'
});
let items = response['data']['items'];
return items;
} catch (error) {
console.log(`Error at getEvents --> ${error}`);
return 0;
}
};
但是因为我不能在普通浏览器 javascript 中使用“require”,所以它不起作用。
包括我
<script src="https://apis.google.com/js/api.js"></script>
和
const google = gapi; 而不是 const {google} = require('googleapis');
这本身有效,但无法识别
const auth = new google.auth.JWT() 不再作为函数并抛出 Uncaught TypeError: google.auth is undefined
如果有人可以提供帮助,我真的很乐意。提前谢谢大家!
【问题讨论】:
-
有人有提示吗?
-
节点是服务端JS的,你有没有试过按照Javascript Quickstart来实现?
-
@Kessy 我知道快速入门指南。问题是,这只是用户身份验证,我需要使用服务帐户进行身份验证,因为我只想从自定义日历 javascript 前端应用程序的日历中获取所有事件,而某些用户可能没有帐户。
-
如果有人有想法那就太好了!
标签: javascript node.js google-oauth google-calendar-api require