UnhandledPromiseRejectionWarning: Ошибка: не найден в Gax ios. <anonymous>при попытке добавить событие в Календарь Google - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь создать новое событие в календаре 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));
})();

1 Ответ

0 голосов
/ 04 мая 2020

Я неправильно вводил данные. Вот код записи, если кому-то нужно:

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.calendar.events.insert({
 auth: client,
 calendarId: 'primary',
 conferenceDataVersion: 1,
 resource: event,
});
//CreateEvents();
 console.log(JSON.stringify(res.data.hangoutLink));
 })();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...