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

Jay*_*Jay 5 javascript gmail google-api node.js gmail-api

我的代码如下,(上面的代码与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);
      });
    }
Run Code Online (Sandbox Code Playgroud)

我正在获取包含ID和threadIds的对象数组

现在,如果我输入这些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);
  });
}
Run Code Online (Sandbox Code Playgroud)

我收到了错误,

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)
Run Code Online (Sandbox Code Playgroud)

Tho*_*lle 5

您可以像列出邮件时一样使用回调:

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);
  });
}
Run Code Online (Sandbox Code Playgroud)