我必須在NodeJS中創建一個小程序,它將檢查用戶的帳戶是否有新郵件,並通過SMS(使用Twilio)通知他們是否有新郵件。不幸的是,我有麻煩讓獲取功能工作。如何使用NodeJS Gmail API獲取消息?
...我已經尋找了一會兒,所有的片段,我能找到有相同的片段作爲一個我下面張貼:
:/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/lib/apirequest.js:180 req = authClient.request(options, callback); ^
TypeError: authClient.request is not a function at createAPIRequest (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/lib/apirequest.js:180:22) at Object.Gmail.self.users.messages.list (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/googleapis/apis/gmail/v1.js:728:16) at CronJob. (/Users/mirtle/Documents/Universishit/smsmirtle/server.js:77:26) at CronJob.fireOnTick (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/cron/lib/cron.js:392:22) at callbackWrapper [as _onTimeout] (/Users/mirtle/Documents/Universishit/smsmirtle/node_modules/cron/lib/cron.js:435:9) at Timer.listOnTimeout (timers.js:92:15)
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);
});
當這個運行時,它崩潰
就像我說過的所有代碼片段,包括其他StackOverflow問題,都是這樣的,所以我不知道我在這裏做錯了什麼。
驗證令牌有效。如果您取消註釋我的第77行評論上方的評論,它會正確打印它。它還運行Google提供的示例來打印標籤並將其打印出來,因此該令牌有效且經過授權。
作爲一個好奇,如果我這樣調用該函數:
gmail.users.messages.list({}, function(err, response){...}
不帶參數,它不會崩潰,但它的投訴沒有userId
。
我也可以在沒有第一個參數的情況下調用它,但它也抱怨沒有userId
。
我會感謝您可以給予的任何幫助。
你有沒有想過爲什麼說authClient.request沒有定義? – ripit