使用node.js和google-api获取Gmail收件箱

我的代码如下(上面的代码与google开发人员网站中的nodejs示例中给出的代码相同)。

function listLabels(auth) { var gmail = google.gmail({ auth: auth, version: 'v1' }); var emails = gmail.users.messages.list({ includeSpamTrash: false, maxResults: 500, q: "", userId: 'me' }, function (err, results) { console.log(results.messages); }); } 

我得到了包含ID和threadIds的对象数组

现在,如果我input这些ID

进入这些

  function getMessage(messageId,auth) { var requestt = google.gmail({ auth: auth, version: 'v1' }).users.messages.get({ 'userId': 'me', 'id': messageId }); console.log(requestt) requestt.execute(function(response){ console.log(response); }); } 

我收到错误,

 TypeError: requestt.execute is not a function at getMessage (/home/jay/Projects/gmailwebapi/index.js:122:11) at /home/jay/Projects/gmailwebapi/index.js:113:7 at OAuth2Client._postRequest (/home/jay/Projects/gmailwebapi/node_modules/google-auth-library/lib/auth/oauth2client.js:381:3) at postRequestCb (/home/jay/Projects/gmailwebapi/node_modules/google-auth-library/lib/auth/oauth2client.js:343:10) at Request._callback (/home/jay/Projects/gmailwebapi/node_modules/google-auth-library/lib/transporters.js:103:7) at Request.self.callback (/home/jay/Projects/gmailwebapi/node_modules/google-auth-library/node_modules/request/request.js:198:22) at emitTwo (events.js:100:13) at Request.emit (events.js:185:7) at Request.<anonymous> (/home/jay/Projects/gmailwebapi/node_modules/google-auth-library/node_modules/request/request.js:1057:14) at emitOne (events.js:95:20) 

您可以像列出消息时那样使用callback:

 function getMessage(messageId, auth) { var gmail = google.gmail({ auth: auth, version: 'v1' }); gmail.users.messages.get({ 'userId': 'me', 'id': messageId }, function (err, result) { console.log(result); }); }