Я пытаюсь создать новое событие в календаре Google и отправить пользователю ссылку на видеовстречу. Я использую делегированные учетные данные GSuite, и нелегко найти документацию по этому вопросу в Node js. Я нашел этот пост , как составить список событий, и он работает нормально. Но когда я использую его для создания события, я получаю эту ошибку:
UnhandledPromiseRejectionWarning: Ошибка: не найдено в Gax ios. (C: \ optt \ node_modules \ gaxios \ build \ src \ gax ios. js: 73: 27) в Generator.next () при выполнении (C: \ optt \ node_modules \ gaxios \ build \ src \ gax ios. js: 16: 58) в processTicksAndRejected (внутренний / process / task_queues. js: 97: 5) (узел: 23328) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри asyn c -функции не было блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI --unhandled-rejections=strict
(см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (идентификатор отклонения: 1) (узел: 23328) [DEP0018] Предупреждение об устаревании: отклонения необработанного обещания устарели. В будущем отклонения обещания, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом выхода.
Вот мой код:
const google = require("googleapis").google;
const calendar = google.calendar("v3");
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google\'s developer products.',
'start': {
'dateTime': '2020-06-12T09:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': '2020-06-12T12:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'conferenceData': {
'createRequest': {
'conferenceSolutionKey': {
'type': 'hangoutsMeet'
},
'requestId': 'iyfuted65e3ers'
}
},
'attendees': [
{'email': 'hjg@example.com'},
{'email': 'sbrin@example.com'},
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
},
};
(async function () {
const scopes = ['https://www.googleapis.com/auth/calendar'];
const keyFile = './credentials.json';
const client = await google.auth.getClient({
keyFile,
scopes,
});
// Delegated Credential
client.subject = 'example@test.com';
const res = await calendar.calendarList.insert({
auth: client,
calendarId: 'primary',
conferenceDataVersion: 1,
resource: event,
});
//listEvents();
console.log(JSON.stringify(res.data));
})();