【发布时间】:2016-09-21 01:38:57
【问题描述】:
我必须在 NodeJS 中创建一个小程序,该程序将检查用户的帐户是否有新消息,并在他们有新邮件时通过 SMS(使用 Twilio)通知他们。不幸的是,我无法让提取功能正常工作。
我已经搜索了一段时间,我能找到的所有 sn-p 都与我在下面发布的 sn-p 相同:
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(选项,回调); ^
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) 在 callbackWrapper [as _onTimeout] (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/cron/lib/cron.js:435:9) 在 Timer.listOnTimeout (timers.js:92:15)
就像我说的,我能找到的所有 sn-ps,包括其他 StackOverflow 问题,都是这样的,所以我不知道我在这里做错了什么。
身份验证令牌有效。如果您取消注释我的第 77 行评论上方的评论,它会正确打印它。它还运行 Google 提供的示例来打印标签并打印出来,因此令牌是有效的并且是经过授权的。
出于好奇,如果我这样调用函数:
gmail.users.messages.list({}, function(err, response){...}
没有参数,它不会崩溃,但它抱怨没有userId。
我也可以不带第一个参数调用它,但它也抱怨没有userId。
如果您能提供任何帮助,我将不胜感激。
【问题讨论】:
-
你有没有弄清楚为什么它说 authClient.request 没有定义?
标签: javascript node.js google-api-nodejs-client