使用的node.js和google-API

问题描述:

我的代码如下获得Gmail收件箱,(上述代码作为在谷歌开发者网站的NodeJS的例子中给出是相同。)使用的node.js和google-API

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和线程ID

现在,如果我输入这些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) 

你可以使用回叫你做同样的方式,当你列出的消息:

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); 
    }); 
} 
+1

Workerd罚款... request.execute不是在请求对象只。 – Jay

+0

任何方式批量处理?假设有10个ID? –

+0

@ItzikGili Google为其API提供了[**批量支持**](https://stackoverflow.com/questions/35343365/gmail-rest-api-batch-support-for-getting-messages),但是我不确定Gmail API JavaScript客户端是否拥有它。 – Tholle