Мне нужно создать небольшую программу в NodeJS, которая будет проверять учетную запись пользователя на наличие новых сообщений и уведомлять их по SMS (используя Twilio), если у них есть новая почта. К сожалению, у меня возникли проблемы с работой функции выборки.
Я искал некоторое время, и все фрагменты, которые я мог найти, имеют тот же фрагмент, что и тот, который я публикую ниже:
var gmail = google.gmail('v1');
//console.log("auth is " + util.inspect(auth, false, null));
// Line 77 under this comment
gmail.users.messages.list({userId: 'me', auth: auth}, function(err, response) {
console.log("this is " + util.inspect(response, false, null) + "with error " + err);
});
Когда это запускается, происходит сбой с:
/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/lib/apirequest.js:180 req = authClient.request(options, callback); ^
TypeError: authClient.request не является функцией в createAPIRequest (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/lib/apirequest.js:180:22) в Object.Gmail.self.users.messages.list ( /Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/apis/gmail/v1.js:728:16) на CronJob. (/Users/mirtle/Documents/Universishit/smsmirtle/server.js:77:26) в CronJob.fireOnTick (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/cron/lib/cron.js:392:22) at callbackWrapper [как _onTimeout] (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/cron/lib/cron.js:435:9) at Timer.listOnTimeout (timers.js:92:15)
Как я уже сказал, все фрагменты, которые я смог найти, в том числе из других вопросов StackOverflow, такие, поэтому я не знаю, что я здесь делаю неправильно.
Токен авторизации действителен. Если вы раскомментируете комментарий над моим комментарием в строке 77, он напечатает его правильно. Он также запускает предоставленный Google пример для печати этикеток, и они печатаются, поэтому токен действителен и авторизован.
Любопытно, если я вызову функцию следующим образом:
gmail.users.messages.list({}, function(err, response){...}
Без параметров не вылетает, но жалуется, что нет userId
.
Я также могу вызвать его без первого параметра, но он также жалуется на отсутствие userId
.
Я буду признателен за любую помощь, которую вы можете дать.