使用的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);
});
}
Workerd罚款... request.execute不是在请求对象只。 – Jay
任何方式批量处理?假设有10个ID? –
@ItzikGili Google为其API提供了[**批量支持**](https://stackoverflow.com/questions/35343365/gmail-rest-api-batch-support-for-getting-messages),但是我不确定Gmail API JavaScript客户端是否拥有它。 – Tholle